C++ 网络和锁定问题

c++ networking and locking issue

本文关键字:问题 锁定 网络 C++      更新时间:2023-10-16

我的 C++ 应用程序管理多个套接字及其发送 + 接收。 为了忽略问题,我在套接字上发送接收之前通过信号灯进行锁定。当我在 100 台机器上运行应用程序时,我看到有时我的机器可能会有一段时间不发送它获得的消息的确认(我在 wireshark 中看到数据包和此数据包上的重新传输)。同样在这段时间里,我看到我的应用程序没有从它必须发送的内容中发送任何内容。

我的问题是:这个问题可能来自锁定机制的根本原因吗? 锁定机制 - 当我锁定套接字时是否也会导致操作系统在此套接字上不发送任何内容? 也许您还会知道:如何忽略此行为?

谢谢

,这听起来不太好。 您应该提供应用程序设计的更多详细信息,尤其是锁定周围的一些代码。

锁定资源通常使用互斥锁完成,但初始化为 1 的信号量可以在推送时完成。

最重要的是:您是否正在处理锁内网络调用引发的所有异常?