c++ - 在同一个套接字上多次写入 C++

标签 c++ multithreading sockets mutex

我目前正在尝试开发一个服务器和一些客户端,这些客户端使用中间的代理之类的东西相互通信。 “代理”将向系统上的每个客户端和服务器打开套接字。这意味着我目前正在使用线程来保持所有连接打开。每次客户端决定发送消息时,它都会使用其与代理的套接字并发送消息。然后代理将使用相应的套接字将消息传播到每个其他节点。

如您所见,节点可以通过让代理在套接字上写入来接收消息,或者节点可能希望通过在套接字上写入来发送消息。 我如何保证套接字中的内容不会被覆盖?我必须使用互斥锁来锁定对套接字的访问吗?解决这个问题的好做法是什么?

最佳答案

连接是双向的。一种方式的内容不会覆盖另一种方式的内容。为此不需要互斥量。

此外,无论如何你都不能使用互斥锁,因为连接的两端是分开的。

关于c++ - 在同一个套接字上多次写入 C++,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57355186/

相关文章:

C++ 优化 if/else 条件

.net - 空工作线程,它们是什么?

c - 从另一个线程访问主线程的局部变量

java - 想要在 openshift 上托管 JAVA 中的原始套接字程序

c++ - 套接字连接到一个不存在的 ip 地址上的端口

c - 无法理解 select() 中 write_fds 的使用 - c

c++ - 当非限定名称查找涉及 using-directives 时 [basic.scope.hiding]p2 的解释

c++ - C++ 解释器 : Function table storage problem

c++ - 将复制返回的值分配给引用

java - ExecutorService 是否在超出范围时收集垃圾?