我正在尝试使用 boost:asio 实现双向通信。我正在编写将与多个客户端通信的服务器。
我希望在没有任何同步和顺序的情况下对客户端进行写入和读取 - 客户端可以随时向服务器发送命令,并且它仍然会循环接收一些数据。当然,必须保护对共享资源的访问。
实现这一目标的最佳方法是什么?有两个线程 - 一个用于阅读,一个用于编写一个不错的选择吗?接受连接并管理许多客户端怎么样?
//编辑
通过“无同步和顺序”,我的意思是服务器应该始终将其数据流式传输给客户端,并且它可以随时响应(更改其行为)客户端请求,而不管现在发送给他们的是什么。