tcp:多对一,跟踪事物的最佳实践

时间:2012-02-22 07:09:30

标签: tcp tcplistener

我已经开发了一个基本的tcp客户端服务器设置及其工作,但我想了解处理/构造/管理传入和传出请求的最佳实践。

我的客户端应用程序可以在不请求数据的情况下接收数据,并且在有目的地请求数据后也会预期数据。

我现在所处的位置,我对收到的消息进行了基本捕获,包括标题,以确定如何处理传入消息。

当我向服务器发送请求时,我暂时保存该请求标头,输入等待循环,并且在我收到的标头=我的请求标头的情况下,我恢复了我首先请求消息的代码,如果它还没有收到服务器所需的内容(即获取客户端详细信息),以防止我的代码继续存在。

这是处理相互依赖的tx / rx的一般方法吗?

感谢您的意见。

1 个答案:

答案 0 :(得分:0)

在您的实施中,您只能从客户端获得一条未完成的消息,但不清楚您想要设计的消息。它以两种方式完成,取决于您的设计。通常人们以分层的方式做到这一点。这些是可能的层:

  1. 最低级别:您处理连接详细信息
  2. 下一级:某种成帧协议:基于tcp字节流开发一个帧
  3. 第三级:有一些客户端和服务器理解的协议头。您可以在标头中包含消息编号,以便处理多个未完成的消息和错误通知包。
  4. 这是正常做法的简要概述,可以在每一层中添加大量值。 THX!