<分区>
我正在尝试通过遵循 tutorial 来学习 winsock2 .问题是它告诉您处理多个客户端的最后一节有空代码。如何以优雅的方式通过多线程实现这一点?
代码:https://pastebin.com/D3L8CgAi
Since links to pastebin must be accompanied by code, I need to add this.
<分区>
我正在尝试通过遵循 tutorial 来学习 winsock2 .问题是它告诉您处理多个客户端的最后一节有空代码。如何以优雅的方式通过多线程实现这一点?
代码:https://pastebin.com/D3L8CgAi
Since links to pastebin must be accompanied by code, I need to add this.
最佳答案
澄清一下:我不会使用线程来处理多个客户端。
针对您的问题:
我不会以这种方式实现它的原因是它无法很好地扩展。在约 100 个并发连接(可能更多,也可能更少)后,进程将因内存不足而崩溃。 (线程很昂贵)。
谷歌“multi thread socket windows C++”你应该找到很多例子,包括带解释的视频。
如果你真的想创建一个可伸缩的服务器审查库,如 libevent(它包装了 epoll 等异步机制)。
关于c++ - 如何处理连接到 CPP 中服务器的多个客户端?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57367765/
相关文章:
c++ - Arduino IDE - 按下按钮时停止重复 'Serial.println'
c++ - Qt creator找不到,QTcpServer和QTcpSocket
java - 使用图形填充颜色时出现 StackOverFlowException - 包含代码
c++ - 从 .srt 文件中读取时间字符串并更改它的函数
java - 使用 Java 并发读取大文件 (2GB) 并写入另一个文件
ubuntu - 即使系统与服务器断开连接,如何在服务器上运行我的深度学习模型而不中断?
javascript - Mac OS X 上的本地主机 :8080 is not loaded for Node. js