C#tcpClient - 如何知道何时到达请求的答案

时间:2014-07-29 08:03:07

标签: c# tcp tcpclient

所以我有一个简单的tcp客户端/服务器设置,可以来回发送对象,并且它可以正常工作。

但是,让我们说我现在想打个电话,并要求服务器提供一套特殊的产品说"产品"我需要知道"回答"传入的消息是我特别要求的消息。

由于接收消息的循环只是检查它们具有什么类型并对其作出反应,因此很难说"这条消息是您要求的消息"。

例:
- 单击按钮
- 将消息发送到服务器
- 其他一些消息到达为什么我等待答案
- 正确的信息到达< - 如何知道"权利"一个?
- 调用我想要的功能 - 更新表格中的内容

希望它清楚我的意思。

2 个答案:

答案 0 :(得分:1)

我建议按照以下方式设计您的消息:

  1. 使用可序列化对象(XmlSerializer),如here
  2. 所示
  3. 这个对象应该有两个&#34; main&#34; properties:有效负载本身和获取的标识符&#34;这是什么类型的消息&#34;,并且可能添加一些requestId属性(如果您正在收听广播服务,则知道此消息适合您)< / LI>

答案 1 :(得分:1)

您可以使用WCF框架处理请求,它处理序列化和&amp;消息通过HTTP / TCP解析。