使用C++和Boost::Asio的N方客户端到客户端通信
N-party client-to-client communication using C++ and Boost::Asio
我一直在玩Boost::Asio,并在n个独立用户协作计算共享输入上的函数时检查它的功能。
在某一点上,我需要让每个用户向所有其他用户发送(或从中接收)一些数据。
我想我实际上是在寻找每个用户的"主动"建立,而不是互联网上常见的客户端-服务器示例。
我有一个工作代码,允许用户将数据发送给另一个用户。我很难理解如何让所有用户同时相互发送和接收。我似乎也不能同时概括多个async_connects
。
对于如何实施这类协议,有什么建议吗?我应该考虑使用线程来管理发送和接收吗?
如果您在基于Unix的操作系统(如Linux)上,我会从使用C
编程语言(如果需要,可以使用C++
)但不使用Boost
库的不那么复杂的解决方案开始。只需使用普通的旧select
系统调用即可。请参阅手册页和教程手册页。
只有在那之后,我才会换成像Boost
这样的花哨的东西。
另请参阅本教程中有关BSD套接字编程的内容。
相关文章:
- 如何将 Firebase 与基于 Linux 的客户端应用配合使用,以便与服务器进行双向消息通信
- 提升::Asio 异步聊天客户端停止与服务器通信
- UDP客户端/服务器程序在不同的IP和端口上通信超过2个插座
- 如何让客户端通过modbus-tcp协议与多个服务器通信?
- 如何将数据序列化为C++ zmq 客户端和 Python zmq 服务器之间的通信
- 使用UNIX套接字C++客户端与Node.js服务器通信的简单示例
- 嗅探 QWebsocket 服务器 - 客户端通信
- 证书验证在客户端服务器通信中使用boost :: asio和openssl失败
- 客户端JavaScript和C 套接字服务器之间的通信
- 如何在服务器和客户端之间进行异步通信
- C++:一个客户端与多个服务器通信
- C++:服务器和客户端之间的经典通信练习
- C++ 客户端无法与 Java 服务器通信
- 使用 C/C++、SSL 协议的客户端和服务器通信不起作用
- 如果传递长类型,32位客户端如何与64位服务器通信
- c++tcp多线程客户端/服务器-如何与线程套接字处理程序进行通信
- C/C++服务器,通过stdin/stdout与客户端通信(阻塞stdin,直到读取了大量字节)
- 套接字编程中的客户端到客户端通信与许多客户端
- 使用C++和Boost::Asio的N方客户端到客户端通信
- C ++ Winsock - 服务器只与单个客户端通信,而它应该与每个客户端通信