恭喜,你发布的帖子
发布于 2017-04-20 11:24:49
4楼
1200没用过,但是300的以太网通讯,不管是343-1的netpro方式,还是315-2pn/dp的cpu上的pn口走open ie方式,发送和接收的长度都必须匹配,否则就出现数据错乱的现象
这点很令人头疼,尤其是碰到modbus tcp的client模式时,作为从站是不知道主站会发来多长的报文!!!除非事先约定好,大家把报文内容确定好,把程序写死!
我找了一些官方文档,有一份关于open ie的资料,上面有这么一段话:
“tcp-ip属于流式服务,意味着发送的数据没有任何用于数据的信息,例如长度,起始和结束信息。接收端只能提供相对应的接收长度来获取正确的数据。这也就是为什么在编程是发送方的发送数据长度一定要和接收方设定的接收长度一致的原因。”
现在是写死长度也有问题,问题是肯定出在接收缓冲区,我不是说那个管脚的缓冲区,而是TCP真正的缓冲区。
请填写推广理由:
分享
只看
楼主