【问题标题】:Client server architecture for local an network run本地网络运行的客户端服务器架构
【发布时间】:2019-01-29 23:13:15
【问题描述】:

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


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


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


一些限制
- 这个程序应该能够在本地和网络中运行。
- Process2 的数量可以在 6000 左右
- C++ 语言 boost::asio 库

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

一些评论!对于本地运行,一次Process2的数量等于处理器内核。

您认为这个解决方案有什么好处,或者我应该使用其他方法吗?

【问题讨论】:

    标签: c++ networking client-server boost-asio local


    【解决方案1】:

    “Process1”中不需要为每个客户端创建线程,可以使用异步函数(前缀为“async_”)避免阻塞,所有客户端都可以在一个线程中运行。

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-07-25
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-04-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多