Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/git/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
tcp:多对一,跟踪事物的最佳实践_Tcp_Tcplistener - Fatal编程技术网

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

tcp:多对一,跟踪事物的最佳实践,tcp,tcplistener,Tcp,Tcplistener,我已经开发了一个基本的tcp客户机-服务器设置及其工作原理,但我想了解处理/构造/管理传入和传出请求的最佳实践 我的客户端应用程序无需请求即可接收数据,并且在故意请求数据后,它也希望收到数据 在我现在的位置上,我对传入消息有基本的捕获,并带有标题,以确定如何处理传入消息 当我向服务器发送请求时,我会临时保存该请求标头,进入等待循环,在我收到的标头=我的请求标头的条件下,我会恢复首先请求消息的代码,以防止代码在尚未从服务器收到所需信息时继续运行(即获取客户详细信息) 这是处理相互依赖的发送/接收的

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

我的客户端应用程序无需请求即可接收数据,并且在故意请求数据后,它也希望收到数据

在我现在的位置上,我对传入消息有基本的捕获,并带有标题,以确定如何处理传入消息

当我向服务器发送请求时,我会临时保存该请求标头,进入等待循环,在我收到的标头=我的请求标头的条件下,我会恢复首先请求消息的代码,以防止代码在尚未从服务器收到所需信息时继续运行(即获取客户详细信息)

这是处理相互依赖的发送/接收的一般方法吗


感谢您的输入。

在您的实现中,您只能从客户端收到一条未完成的消息,这并不清楚您想要设计的目的。这两种方式都可以完成,这取决于您的设计。通常情况下,一种方式是分层的。以下是可能的层:

  • 最低级别:处理连接详细信息
  • 下一级:某种帧协议:基于tcp字节流开发帧
  • 第三级:有一些客户端和服务器可以理解的协议头。头中可能有消息编号,以便处理多个未完成的消息和错误通知数据包
  • 这是一个普通实践的简要概述,可以在每一层中添加很多值。thx