循环打开的Socket太多了.
while(testing==true)
{
Socket temp_sock=listener.AcceptSocket();
....
}用Pending轮寻是否有挂起的Socket.关闭一些挂起的Socket.
while(testing==true)
{
Socket temp_sock=listener.AcceptSocket();
....
}用Pending轮寻是否有挂起的Socket.关闭一些挂起的Socket.
另外把你的工作线程写成一个类,改类有一个socket变量,和一个void()的函数好好研究一下这片msdn的文章
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/cpguide/html/cpconthreadpooling.asp