我想设计支持多个客户端的服务器。 我想到了设计多客户端服务器的解决方案。
解决方法是: 我可以为服务器中的每个客户端创建线程。每个线程将处理与每个客户端的通信。
现在假设如果有 50 个客户端,那么将在服务器端生成 50 个线程。
但如果有 1000 个客户端,那么服务器端将生成 1000 个线程。这不是一个好的解决方案。(因为为系统处理 1000 个线程不会那么容易,我认为是这样。)
或者 如果我们假设服务器具有更多内存、强大的处理器等,上述设计将工作正常。
以上解决方案是否适合我的设计? 如果不好,还有其他方法可以在qt中开发多客户端服务器吗?
最佳答案
我建议你看一下 MSDN 的 I/O Completion Ports
https://msdn.microsoft.com/en-us/library/windows/desktop/aa365198(v=vs.85).aspx
http://www.codeproject.com/Articles/13382/A-simple-application-using-I-O-Completion-Ports-an
这是微软的一项专利,目的是维护大量的套接字并通过使用核心数 * 2 作为处理套接字的线程数来处理来自它们的请求,我曾经在 8 上处理 4000 个套接字核心服务器处理4000个RTP流
关于c - 使用套接字在qt中支持多客户端的服务器设计,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33802964/