一般是如何定义个网络数据包格式的
有好几种命令,是采用同步方式进行处理,即问答式格式
这样可能出现的结果是,上一个命令请求没有返回,当前的命令可能返回的是上一个命令的返回
向心跳包刚好和我发送的命令几乎是同时的,那么这个时候我发的命令可能就出现了干扰。这个怎么处理?
有好几种命令,是采用同步方式进行处理,即问答式格式
这样可能出现的结果是,上一个命令请求没有返回,当前的命令可能返回的是上一个命令的返回
向心跳包刚好和我发送的命令几乎是同时的,那么这个时候我发的命令可能就出现了干扰。这个怎么处理?
TCP是不会乱序的
我收数据时没有收到,当我再进行下一个命令反馈处理时,收到的是上次的返回,这样就乱了..........
TCP的话,其实你只要包头加一个包类型字段,然后加一个数据长度就好了,每次先收这两部分,如果类型是心跳就按心跳处理,每次长度都要循环收全 ,是定义命令的问题,没有定义命令长度和命令序号。
Answer: 在包头加个SN.