我想使用套接字在 C++ 上编写服务器应用程序。这个应用程序是一个游戏服务器。 服务器接受来自客户端的连接并在整个 session 期间保持这些连接。服务器和客户端都互相发送数据。 连接可能会保持很长时间。 服务器除了发送和接收数据外,还进行大量的数据处理。 服务器也将数据保存到硬盘。
你能告诉我组织这一切的最佳方式是什么吗? 为每个客户端连接创建一个线程好吗? 我可以以某种方式使用异步套接字吗? 关于这个主题(游戏服务器开发、服务器开发)哪些文章适合阅读?
谢谢!
最佳答案
您没有说您正在为哪个操作系统编写代码,但在 Windows 上最具可扩展性的方法是使用带有 I/O 完成端口的重叠 I/O。这使您可以仅使用少量线程轻松扩展到数千个连接。
我写了一些 articles about how to use IOCP其中包括用于一些简单服务器设计的 C++ 代码。这些可能有助于您了解该技术的功能。
关于c++ - 组织 C++ 套接字服务器的最佳方式是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20080026/