同步TCP消息

时间:2011-10-18 07:20:24

标签: multithreading tcp tcpclient

我有至少3个TCP客户端,每个都有一个线程。我正在发送消息并等待答案,但有时我必须等待接收来自所有客户端的响应,这取决于发送服务器的消息类型。我已经做过向客户端发送消息并接收消息,但是当我必须等待其他客户端响应时,我才能做到这一点。

1 个答案:

答案 0 :(得分:1)

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

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

以前开始发送消息的线程可以在之后等待设置所有AutoResetEvents。