首先,我想說我是Boost asio的新人,我看到很多例子,但它仍然是我不明白的東西。Boost asio - 同步寫入/讀取 - 如何操作?
我想創建一個服務器,它將接受兩個客戶端(它將使用兩個套接字)。第一個客戶端會發送消息到服務器,服務器會將這個消息發送給另一個客戶端(是的,使用服務器是沒用的,但這不是重點,我想了解所有這些工作)。這將發生,直到其中一個客戶關閉。
所以,我創建了一個服務器,服務器等待客戶端,然後,它必須等待第一個客戶端發送一些消息。這是我的問題:我必須做什麼?
我想我需要讀第一個套接字,然後寫在第二個,等等,但我怎麼知道第一個客戶端是否在套接字上寫?同樣,我怎麼知道第二個客戶端是否讀取第二個socket?
我不需要代碼,我只是想知道做到這一點的好方法。
非常感謝您的閱讀!
好吧,我明白了。但在我的情況,我可以做同步讀/寫,因爲服務器可以等待客戶端,然後當它收到的東西,發送到另一個客戶端? –
你也可以使用阻塞asio :: read/asio :: write函數,但與berkley套接字相比,它不會增加很多功能,所以我認爲使用asio來阻塞io不是一個好主意。在這種情況下,我會使用傳統的伯克利插座。 –
好的,非常感謝! –