我目前正在尝试开发一个服务器和一些客户端,这些客户端使用中间的代理之类的东西相互通信。 “代理”将向系统上的每个客户端和服务器打开套接字。这意味着我目前正在使用线程来保持所有连接打开。每次客户端决定发送消息时,它都会使用其与代理的套接字并发送消息。然后代理将使用相应的套接字将消息传播到每个其他节点。
如您所见,节点可以通过让代理在套接字上写入来接收消息,或者节点可能希望通过在套接字上写入来发送消息。 我如何保证套接字中的内容不会被覆盖?我必须使用互斥锁来锁定对套接字的访问吗?解决这个问题的好做法是什么?
最佳答案
连接是双向的。一种方式的内容不会覆盖另一种方式的内容。为此不需要互斥量。
此外,无论如何你都不能使用互斥锁,因为连接的两端是分开的。
关于c++ - 在同一个套接字上多次写入 C++,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57355186/