求助:关于socket通讯 点击:457 | 回复:2



高纯度

    
  • 精华:0帖
  • 求助:0帖
  • 帖子:1帖 | 1回
  • 年度积分:0
  • 历史总积分:4
  • 注册:2003年7月19日
发表于:2003-07-20 18:17:00
楼主
我用C#开发上位机与下位机socket通讯,下位机用类C语言开发,交换的是我们自定义的数据结构,可是出现以下问题: 1、上位机发送一次,下位机接受时有对数据类型大小的判断,可调试时发现下位机接受多次数据,且每次数据都有变化,都不对。 2、只要下位机不改数据,上位机接收的返回数据正确,下位机一改数据,上位机就说此buffer有错,无法转换为自定义结构类型。 请问这可能是怎么回事?



deng_lp

  • 精华:5帖
  • 求助:0帖
  • 帖子:65帖 | 2669回
  • 年度积分:0
  • 历史总积分:2876
  • 注册:2001年6月19日
发表于:2003-07-20 14:22:00
1楼
下位机用类C语言开发的操作平台很多. 你的数据格式是如何定义的?我认为问题出在命令传输的格式上.你可以在定义格式上参照如 104规约的作法来处理.

高纯度

  • 精华:0帖
  • 求助:0帖
  • 帖子:1帖 | 1回
  • 年度积分:0
  • 历史总积分:4
  • 注册:2003年7月19日
发表于:2003-07-20 18:17:00
2楼
我已解决此问题,方法是使用BitConverter 类将自定义结构字段都转换为byte[],再合并为一个byte[],供 socket 传送。 欢迎大家与我交流,共同进步! 再次感谢deng_lp

热门招聘
相关主题

官方公众号

智造工程师