多线程SOCKET结束问题
我的服务器端每当一个新客户端连接时启动一个新线程来管理这个连接,线程执行过程中建立了一个类,如何在程序结束时,终卡掉所有线程,并同时把创建的实例类和SOCKET连接手动清除掉?需要在主线程里加一个线程列表吗?
[解决办法]
所有实例类(如果有析构函数)不需要,没有的话需要回收
[解决办法]
楼上的,.net没有析构函数啊。
楼主应该是给每个线程都实现IDisposable接口,然后在主线程里枚举一遍对象集合,调用Dispose掐死所有线程。
[解决办法]
楼主可以把,您实现C/S的代码 发给我么。我也在研究这个问题
要是关闭 应该这样就可以 只供参考
protected override void Dispose(bool disposing)
{
try
{
if (disposing && (components!=null))
{
components.Dispose();
th.Abort();
//禁止当前 Socket连接中的数据收发
s.Shutdown(System.Net.Sockets.SocketsShutdown.Both);
s.Close;
}
base.Dispose(disposing);
}
catch
{
return;
}
}
不知道对你又没有什么帮助应该是 关闭Socket连接的