2011-10-18 83 views
1

我有最少3个TCP客户端,每个都有一个线程。我正在发送消息并等待答案,但有时我必须等待才能收到来自所有客户端的响应,这取决于将什么样的消息发送到服务器。我已经向客户发送消息并收到消息,但是当我必须等待其他客户端的响应时,我才能够直到现在才这样做。同步TCP消息

回答

1

至于你没有提到你的环境/语言,我认为C#/。NET 4

你需要为每一个客户信号的响应到来的机制。这通常通过AutoResetEvents完成:每个客户端都将其响应发送回服务器。服务器本身可以从响应(或任何其他属性,例如连接)中提取客户端发送的响应。然后他设置了适合的AutoResetEvent。

以前启动发送消息的线程可以等待所有AutoResetEvents设置。