簡體   English   中英

Unix IPC套接字發送/接收同步

[英]Unix IPC sockets send/recv sync

我正在使用本地Unix套接字在兩個不同進程之間進行通信。 問題是,bth端的某些代碼部分需要花費不同的時間來運行,因此我需要recvsend才能在兩個進程之間進行同步。 有沒有辦法強制sendrecv等待相反過程中的下一條對應行?

您必須實現協議。 畢竟,您不能確保套接字同步。 例如,您可以發送一個100字節的數據包,然后再接收兩個或更多的數據包將其加起來。

默認情況下, recv()將阻塞(等待),直到有數據可讀取為止,而send()將阻塞直到緩沖區中的空間可寫入。 對於大多數應用程序,這足夠同步(如果您合理地設計協議)。

因此,我建議您僅考慮一下如何進行通信的細節,然后嘗試一下。 然后,如果仍然存在問題,請返回一個盡可能具體的問題。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM