[英]Unix IPC sockets send/recv sync
我正在使用本地Unix套接字在兩個不同進程之間進行通信。 問題是,bth端的某些代碼部分需要花費不同的時間來運行,因此我需要recv
和send
才能在兩個進程之間進行同步。 有沒有辦法強制send
和recv
等待相反過程中的下一條對應行?
您必須實現協議。 畢竟,您不能確保套接字同步。 例如,您可以發送一個100字節的數據包,然后再接收兩個或更多的數據包將其加起來。
默認情況下, recv()
將阻塞(等待),直到有數據可讀取為止,而send()
將阻塞直到緩沖區中的空間可寫入。 對於大多數應用程序,這足夠同步(如果您合理地設計協議)。
因此,我建議您僅考慮一下如何進行通信的細節,然后嘗試一下。 然后,如果仍然存在問題,請返回一個盡可能具體的問題。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.