2011-10-18 84 views
1

我有最少3個TCP客戶端,每個都有一個線程。我正在發送消息並等待答案,但有時我必須等待才能收到來自所有客戶端的響應,這取決於將什麼樣的消息發送到服務器。我已經向客戶發送消息並收到消息,但是當我必須等待其他客戶端的響應時,我才能夠直到現在才這樣做。同步TCP消息

回答

1

至於你沒有提到你的環境/語言,我認爲C#/。NET 4

你需要爲每一個客戶信號的響應到來的機制。這通常通過AutoResetEvents完成:每個客戶端都將其響應發送回服務器。服務器本身可以從響應(或任何其他屬性,例如連接)中提取客戶端發送的響應。然後他設置了適合的AutoResetEvent。

以前啓動發送消息的線程可以等待所有AutoResetEvents設置。