Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
我正在使用本地 Unix 套接字在两个不同的进程之间进行通信。问题是,bth 端的某些部分代码需要不同的时间来运行,我需要在两个进程recv之间send进行同步。有没有办法强制send并recv等待相反过程中的下一个相应行?
recv
send
你必须实现一个协议。毕竟,您不能确定套接字是否同步。例如,您可以发送一个 100 字节的包,然后接收两个或更多的包,将其相加。
默认情况下,recv()将阻塞(等待)直到有数据要读取,而send()将阻塞直到缓冲区中有空间可以写入。对于大多数应用程序来说,这已经足够同步了(如果你合理地设计了你的协议)。
recv()
send()
所以我建议你考虑一下你的沟通方式的细节,然后尝试一下。然后,如果仍然存在问题,请尽可能具体地提出问题。