C#tcpClient-如何知道请求的答复何时到达
因此,我有一个简单的tcp客户机/服务器设置,可以来回发送对象,而且效果很好 但假设我现在想打个电话,向服务器询问一组特殊的信息,比如“产品”,我需要知道传入消息的“答案”是我特别要求的 由于接收消息的循环只是检查消息的类型并对其作出反应,因此很难说“此消息就是您请求的消息” 示例:C#tcpClient-如何知道请求的答复何时到达,c#,tcp,tcpclient,C#,Tcp,Tcpclient,因此,我有一个简单的tcp客户机/服务器设置,可以来回发送对象,而且效果很好 但假设我现在想打个电话,向服务器询问一组特殊的信息,比如“产品”,我需要知道传入消息的“答案”是我特别要求的 由于接收消息的循环只是检查消息的类型并对其作出反应,因此很难说“此消息就是您请求的消息” 示例: -按钮已单击 -消息被发送到服务器 -还有一些其他消息到达,说明我为什么等待答案 -正确的消息到达我建议您按照以下方式设计消息: 如图所示,使用可序列化对象(XmlSerializer) 这个对象应该有两个“主要”
-按钮已单击
-消息被发送到服务器
-还有一些其他消息到达,说明我为什么等待答案
-正确的消息到达我建议您按照以下方式设计消息:
您可以使用WCF框架来处理请求,它通过HTTP/TCP处理序列化和消息解析。如果您正在编写此类低级通信,请添加一些独特的
messageId
,该ID随请求一起发送,并从服务器返回。@Konrad Kokosa低级通信是否可能重复?什么是更好的方法?例如异步HttpClient
。