1896 2018-08-01 08:41 采纳率: 0%
浏览 1145
已结题

窗口关闭时,调用TcpListener对象Close时偶尔卡死,有没有遇到过的!

                    try
        {
            //监听线程退出
            if (threadListener != null)
            {
                evtExit.Set();
                threadListener.Join();
            }
            //所有连接端口
            clientPool.Clear();
            //关闭监听
            if (socketListener != null)
            {
                                    **//通过日志看到程序卡在这里**
                socketListener.Stop();
                socketListener.Server.Dispose();
            }
            TaskbarNotifier.CloseMessage();
        }
        catch (SocketException ex)
        {
            WriteLog(ex.ToString());
        }
  • 写回答

2条回答 默认 最新

  • 南天空 2018-08-01 09:08
    关注

    是不是server已经提前关闭了?如果在socketListener != null判断时TCP链接还在,而接下来服务端已经终止了,监听端口会有类似尝试连接的动作,这个动作在超时之前的现象类似于卡死。和数据库连接类似

    评论

报告相同问题?

悬赏问题

  • ¥100 Jenkins自动化部署—悬赏100元
  • ¥15 关于#python#的问题:求帮写python代码
  • ¥20 MATLAB画图图形出现上下震荡的线条
  • ¥15 关于#windows#的问题:怎么用WIN 11系统的电脑 克隆WIN NT3.51-4.0系统的硬盘
  • ¥15 perl MISA分析p3_in脚本出错
  • ¥15 k8s部署jupyterlab,jupyterlab保存不了文件
  • ¥15 ubuntu虚拟机打包apk错误
  • ¥199 rust编程架构设计的方案 有偿
  • ¥15 回答4f系统的像差计算
  • ¥15 java如何提取出pdf里的文字?