发 帖  
[问答]

Labview TCP通信 数据分包和粘包处理。

5807
2022-3-22 14:02:08   评论 分享淘帖 邀请回答 举报
2个回答
2022-3-22 14:02:09 4 评论

举报

4 条评论
  • 2022-4-10 21:22

    感谢回复,每50ms接收一次,没有数据就超时,有数据就取出?那就是查询式读数据。我是应答式的读写,读的数据固定长度,固定报文,超时再读。  PS:server一对多的情况,怎么将每一个client分开处理,大佬有做过吗。

    DrunkWatermalon 回复 小米姑娘1994: 2022-4-10 22:05

    Client是独立的地址不会混用,比如1.1.1.1:5001和1.1.1.1:5002必定是两个客服端,这和服务端是不同的,服务端是1.1.1.1:4001包含N个客服端连接。那么区分客服端,一种是通过客服端的连接信息地址确定,将地址用于确认客服端身份;另一种是通讯报文包含识别客服端的信息,比如Modbus协议那样包含了设备地址。至于程序中的处理就要看你自己了,不同情况不同分析.Labview中你使用就会发现,每个连接的通讯是通过通讯ID引用来作为路径引用的,每个连接对应一个ID引用。即服务端创建的端口连接(总)在监听到一个客服端连接时会反馈你一个与这个客服端连接的通讯ID。使用方法和VISA串口一样

    DrunkWatermalon 回复 小米姑娘1994: 2022-4-10 22:21

    Labview的TCP/IP包相当于小时候的传呼机/老式电话。客服端想找你,首先他要和传呼台(服务端)联系让传呼台通知你他在找你,传呼台会把客服端的联系方式给你,然后你再直接和客服端打电话联系。如果联系时客服端掉线了,客服端再联系服务端,服务端又会给你客服端新的联系方式,旧的作废。如果客服端不联系你了,你是找不到客服端的。所以服务端都叫侦听端口,客服端叫连接端口。当然这只是为了方便理解,不太严谨的。

    小米姑娘1994 回复 DrunkWatermalon: 2022-5-2 21:52

    这些我知道啊

2022-3-23 09:56:24 评论

举报

撰写答案

你正在撰写答案

如果你是对答案或其他答案精选点评或询问,请使用“评论”功能。

您需要登录后才可以回帖 登录/注册

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容图片侵权或者其他问题,请联系本站作侵删。 侵权投诉
快速回复 返回顶部 返回列表
关注微信公众号

电子发烧友网

电子发烧友论坛

社区合作
刘勇
联系电话:15994832713
邮箱地址:liuyong@huaqiu.com
社区管理
elecfans短短
微信:elecfans_666
邮箱:users@hauqiu.com
关闭

站长推荐 上一条 /5 下一条

快速回复 返回顶部 返回列表