解决方案 »

  1.   

    频繁开关是不行的 端口关闭后有个Time_wait状态
      

  2.   

    tServiceListern.Abort() 如此简单粗暴啊,正常方法应该是仅关闭套接字,
    这样导致侦听线程内部发生异常,捕获到后退出循环,最好也关闭所有已经开启子线程.
    同样是关闭子线程相关套接字(这就需要管理好所有套接字列表),子线程内部应该对每个
    套接字有一个接收线程,关闭操作导致异常,捕获后退出接收线程,同时清理其他资源.