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