用c#写的Socket服务器端,全部都是异步操作,连接数5000,一开始连接上来时也就多了4个线程,但这个线程数是不断的在增加,现在都超过800个线程了!!!中断之后看到的线程全是无名称,而且进入不到线程去。我现在只是接受数据,不处理数据只是保存到byte数组中,也不进行发送,线程数也已经增加到了40多:( 大家有没有遇到过这种情况?帮忙解决一下吧,写的代码参考的是codeproject上的一个异步代码

解决方案 »

  1.   

    线程不是我开的,是系统线程池自己开的吧:( 我每个回调函数都有End的呢。现在不是在调试状态,线程数最多33个。连了1800个连接
      

  2.   

    我就用了异步的,跟微软提供的代码很像http://msdn.microsoft.com/msdnmag/issues/05/08/HighPerformanceSockets/default.aspx只是发送数据我没有发送,而是在另外线程中,处理完数据之后才发送的,而且每次发送的字节不到200个字节。刚刚找到了以前的一个帖子
    http://community.csdn.net/Expert/TopicView3.asp?id=4896899他也是连5000个的,但他像是没有出现我这种情况,线程数不断的在增加,偶尔会退下来几个,但退的数量比增的数量要少得多,一开始是不到60个线程,今天运行了差不多整整一天了,已经快到200了:( 这样子下去如果一直在增,岂不是过几天就要重启程序!