【发布时间】:2010-10-27 04:55:15
【问题描述】:
在过去的几个月里,我一直致力于用 C++ 和 Java 实现一些套接字服务器。我用 Java 编写了一个小型服务器,可以处理和处理来自网站上托管的 flash 应用程序的输入,并且我成功地编写了一个服务器,可以处理来自 C++ 中具有多个玩家的 2D 游戏客户端的输入。我在一个项目中使用了 TCP,在另一个项目中使用了 UDP。现在,我确实有一些我在网上找不到的问题,我希望一些专家可以帮助我。 :)
假设我想用 C++ 构建一个服务器来处理来自数千个独立和/或 Web 应用程序的输入,那么我应该如何设计我的服务器?到目前为止,我通常为每个连接的用户创建一个新的和独特的线程,但我怀疑这是要走的路。
另外,如何确定通过网络发送的数据包的布局?数据通常是以二进制还是文本状态通过网络发送的?当您将数据发送到不同的媒体(例如 C++ 服务器到闪存应用程序)时,您如何处理序列化的对象?
最后,除了 boost asio 之外,是否还有任何易于使用且支持可移植性(例如在 windows 机器上开发和在 linux 机器上部署)的常用库。
谢谢。
【问题讨论】: