用于本地网络运行的客户端服务器体系结构



我需要建议,并且可能对我的问题有一些想法:
进程1 - 在单独的线程中运行服务器并运行客户端的主进程。
进程 2 - 客户端,负责执行一些工作并将工作结果发送到服务器。


来自客户端的通信:
第一次发送 - 消息类型
2D 发送 - 数据
3D 读取 - 来自服务器的应答


来自服务器端的通信:
第一次读取 - 消息类型
2D 读取 - 数据
- 处理数据
- 将答案发送给客户


一些限制: - 该程序应该能够在本地和网络中运行。
- 进程数2可以在6000
左右 - C++语言提升:
:ASIO 库

当前解决方案: 我有异步客户端。哪个完成工作并运行客户端以发送结果。 服务器在循环中接受客户端,当客户端接受时,服务器创建线程并处理通信。

一些评论!对于本地运行,进程 2 的一个时间数等于处理器内核数。

您认为此解决方案有什么好处,或者我应该使用另一种方法?

无需在"Process1"中为每个客户端创建线程,您可以使用异步函数(带有前缀"async_"(来避免阻塞,因此所有客户端都可以在一个线程中运行。

指: https://www.boost.org/doc/libs/1_68_0/doc/html/boost_asio/example/cpp03/echo/async_tcp_echo_server.cpp

最新更新