连接数和你开启的处理线程数,是没有必要的关系的,你就是用一条线程去处理这1万个连接也没问题。只不过多开几条线程能处理的快些。 至于1万个连接是否可以承受要看你的数据量有多大,如果每次只发个几K就没问题。
用完成端口是可以的,2~4个线程就够用了。 阻塞,每个线程一个socket,天啦,太可怕了。
没问题.你不能开1W个线程.1/60 =300 一秒三百个
不管是tcp还是udp,连接数量1w不算是很多。 线程数量根据cpu数量或者核数确定,大概2*cpu+2左右。 连接可以同时保持,但线程对数据处理是分时的,不能保证完全并行。 lz这种需求,是常用的网络游戏服务端设计,使用完成端口机制完全可以处理。具体参考可以百度或者找些网络游戏服务端编程类书看看就知道了。
引用 4 楼 burningbloodgg 的回复:引用 1 楼 wapjia43106140 的回复: 没问题.你不能开1W个线程.1/60 =300 一秒三百个 TCP是面向连接的,如果需要1W的客户端,服务器端肯定需要1W的线程来读客户端发来的信息啊,虽然大部分时间是阻塞的。 你用阻塞IO模型不行吗?
引用 1 楼 wapjia43106140 的回复: 没问题.你不能开1W个线程.1/60 =300 一秒三百个 TCP是面向连接的,如果需要1W的客户端,服务器端肯定需要1W的线程来读客户端发来的信息啊,虽然大部分时间是阻塞的。
18,356
社区成员
64,214
社区内容
加载中
试试用AI创作助手写篇文章吧