其实你用socket的BeginRecive也一样,它也是调用的wsarecv
我看都没C#的IOCP例程,不知是否C#开发服务器已经不需要考虑做IOCP形式?
[quote=引用 楼主 Jamescow 的回复:] 我看都没C#的IOCP例程,不知是否C#开发服务器已经不需要考虑做IOCP形式?
[quote=引用 17 楼 Z65443344 的回复:] 不用非要第三方工具,自己做个全局静态变量,开线程就++,线程退出之前-- 放到界面上显示,用timer刷新就行 一段时间后看这个数变成多少了,就知道是否因为线程过多了
[quote=引用 22 楼 Jamescow 的回复:] [quote=引用 19 楼 sj178220709 的回复:] 一个请求一个线程肯定不行啊,要想清楚,那些线程可都是在不断轮询的啊,这上下文切换太频繁了... 这是很明显的异步场景,iocp应该是最优解,
[quote=引用 19 楼 sj178220709 的回复:] 一个请求一个线程肯定不行啊,要想清楚,那些线程可都是在不断轮询的啊,这上下文切换太频繁了... 这是很明显的异步场景,iocp应该是最优解,
一个请求一个线程肯定不行啊,要想清楚,那些线程可都是在不断轮询的啊,这上下文切换太频繁了... 这是很明显的异步场景,iocp应该是最优解,
你的代码最后Socket RSocket = (Socket)AR.AsyncState;后面是不是有int REnd = RSocket.EndReceive(AR);?因为你的用了省略号,所以没看出来。 你的代码和C#实时通信这个很像的。 [quote=引用 18 楼 Jamescow 的回复:] [quote=引用 17 楼 Z65443344 的回复:] 不用非要第三方工具,自己做个全局静态变量,开线程就++,线程退出之前-- 放到界面上显示,用timer刷新就行 一段时间后看这个数变成多少了,就知道是否因为线程过多了
不用非要第三方工具,自己做个全局静态变量,开线程就++,线程退出之前-- 放到界面上显示,用timer刷新就行 一段时间后看这个数变成多少了,就知道是否因为线程过多了
检查下是否只有新增线程,而没有断开结束,导致线程不断增多
没有,一般不用c#开发iocp,一般用vc做成dll给c#调用
111,120
社区成员
642,538
社区内容
加载中
让您成为最强悍的C#开发者
试试用AI创作助手写篇文章吧