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链接还在,而接下来服务端已经终止了,监听端口会有类似尝试连接的动作,这个动作在超时之前的现象类似于卡死。和数据库连接类似

    评论

报告相同问题?

悬赏问题

  • ¥15 如何在scanpy上做差异基因和通路富集?
  • ¥20 关于#硬件工程#的问题,请各位专家解答!
  • ¥15 关于#matlab#的问题:期望的系统闭环传递函数为G(s)=wn^2/s^2+2¢wn+wn^2阻尼系数¢=0.707,使系统具有较小的超调量
  • ¥15 FLUENT如何实现在堆积颗粒的上表面加载高斯热源
  • ¥30 截图中的mathematics程序转换成matlab
  • ¥15 动力学代码报错,维度不匹配
  • ¥15 Power query添加列问题
  • ¥50 Kubernetes&Fission&Eleasticsearch
  • ¥15 報錯:Person is not mapped,如何解決?
  • ¥15 c++头文件不能识别CDialog