PROFIBUS用来校时的PTCP

客户用问我  315 2pn/dp支持PROFIBUS用来校时的PTCP封包吗?我蒙了不知道什么东西,请教各位,有这方面相关资料吗?支持封包吗?非常感谢

最佳答案

1、PROFIBUS不支持。
基于TCP的通讯程序支持封包和拆包.。
TCP是个"流"协议,所谓流,就是没有界限的一串数据。
  大家可以想想河里的流水,是连成一片的,其间是没有分界线的。但一般通讯程序开发是需要定义一个个相互独立的数据包的,比如用于登陆的数据包,用于注销的数据包。
2、转帖:
封包:
、封包就是给一段数据加上包头,这样一来数据包就分为包头和包体两部分内容了(以后讲过滤非法包时封包会加入"包尾"内容)。
包头其实上是个大小固定的结构体,其中有个结构体成员变量表示包体的长度,这是个很重要的变量,其他的结构体成员可根据需要自己定义。根据包头长度固定以及包头中含有包体长度的变量就能正确的拆分出一个完整的数据包。
3、转帖:
拆包:
对于拆包目前、我最常用的是以下两种方式:
、动态缓冲区暂存方式。之所以说缓冲区是动态的是因为当需要缓冲的数据长度超出缓冲区的长度时会增大缓冲区长度。
、利用底层的缓冲区来进行拆包:
  由于TCP也维护了一个缓冲区,所以我们完全可以利用TCP的缓冲区来缓存我们的数据,这样一来就不需要为每一个连接分配一个缓冲区了。另一方面我们知道 recv 或者 wsarecv 都有一个参数,用来表示我们要接收多长长度的数据。利用这两个条件我们就可以对第一种方法进行优化了。

提问者对于答案的评价:
谢谢,了解了

原创文章,作者:more0621,如若转载,请注明出处:https://www.zhaoplc.com/plc169660.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2017年6月11日
下一篇 2017年6月11日

相关推荐