【问题标题】:C# tcpClient - How to know when answer for a request arrivedC# tcpClient - 如何知道请求的答案何时到达
【发布时间】:2014-09-20 13:18:56
【问题描述】:

所以我有一个简单的 tcp 客户端/服务器设置,可以来回发送对象,而且效果很好。

但是假设我现在想打电话并向服务器询问一组特殊的让我们说“产品”,我需要知道传入消息的什么“答案”是我特别要求的。

由于接收消息的循环只是检查它们的类型并对其做出反应,因此很难说“此消息是您要求的消息”。

示例:
- 按钮被点击
- 消息发送到服务器
- 其他一些消息到达为什么我等待答案
- 正确的消息到达 - 调用我想要的函数
- 更新我的表单中的内容

希望我的意思很清楚。

【问题讨论】:

标签: c# tcp tcpclient


【解决方案1】:

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

【讨论】:

    【解决方案2】:

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

    1. 使用可序列化对象(XmlSerializer),如图here
    2. 这个对象应该有两个“主要”属性:有效负载本身和一个标识符来获取“这是什么类型的消息”,并且可能添加一些 requestId 属性(如果你正在听,要知道这个消息是给你的到广播服务)

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2010-09-20
      • 2012-10-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-04-23
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多