[英]Unix IPC sockets send/recv sync
我正在使用本地Unix套接字在两个不同进程之间进行通信。 问题是,bth端的某些代码部分需要花费不同的时间来运行,因此我需要recv
和send
才能在两个进程之间进行同步。 有没有办法强制send
和recv
等待相反过程中的下一条对应行?
您必须实现协议。 毕竟,您不能确保套接字同步。 例如,您可以发送一个100字节的数据包,然后再接收两个或更多的数据包将其加起来。
默认情况下, recv()
将阻塞(等待),直到有数据可读取为止,而send()
将阻塞直到缓冲区中的空间可写入。 对于大多数应用程序,这足够同步(如果您合理地设计协议)。
因此,我建议您仅考虑一下如何进行通信的细节,然后尝试一下。 然后,如果仍然存在问题,请返回一个尽可能具体的问题。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.