在过去的几个月中,我一直在使用C++和Java实现socket服务器。我编写了一个小型Java服务器,用于处理托管在网站上的Flash应用程序的输入并进行处理,并成功编写了一个能够处理多玩家2D游戏客户端输入的C++服务器。我在其中一个项目中使用了TCP,而在另一个项目中使用了UDP。现在,我有一些问题,在网上找不到答案,希望一些专家可以帮助我。 :)
假设我想要在C++中构建一个服务器,用于处理来自数千个独立和/或Web应用程序的输入,那么我应该如何设计我的服务器呢?到目前为止,我通常为每个连接的用户创建一个新的唯一线程,但我怀疑这不是正确的方法。
此外,如何确定通过网络发送的数据包的布局;数据通常以二进制或文本状态发送到网络上吗?当您将数据发送到不同媒体(例如C++服务器到Flash应用程序)时,如何处理序列化对象?
最后,是否有易于使用的库通常支持可移植性(例如在Windows机器上开发和部署到Linux机器上),除了boost asio?
谢谢。