问一下各位大牛,本人现在要与一仪表进行网络通讯,
它那边定义的命令协议是以 4个 0x00 开头的
例如: 设置量程范围 0x00 0x00 0x00 0x00 0x03 0x01 0x01
本人现在用socket 的client 与它通迅,根本发不出0x00这个字节
本人在网上查了一下,
有人说 服务器接收数据时,以能否收到零字节的数据判断客户方能否发送完毕。
但用VB6.0的 winsock又可以发出这个命令
为什么VC# 的TcpClient 却不行呢
只是,本人要 为0字节 ,怎么才能发出去呢?
能否有办法可以修改 在包中 0x00的标志
很急,请求指导答
它那边定义的命令协议是以 4个 0x00 开头的
例如: 设置量程范围 0x00 0x00 0x00 0x00 0x03 0x01 0x01
本人现在用socket 的client 与它通迅,根本发不出0x00这个字节
本人在网上查了一下,
有人说 服务器接收数据时,以能否收到零字节的数据判断客户方能否发送完毕。
但用VB6.0的 winsock又可以发出这个命令
为什么VC# 的TcpClient 却不行呢
只是,本人要 为0字节 ,怎么才能发出去呢?
能否有办法可以修改 在包中 0x00的标志
很急,请求指导答
解决方案
10
0x0绝对是可以发的
而且 以能否收到零字节的数据 就算是真的 0x0也不是你说的 零字节的数据 而是1字节
而且 以能否收到零字节的数据 就算是真的 0x0也不是你说的 零字节的数据 而是1字节
20
用VB6.0的 winsock又可以发出这个命令 这个是有疑问的
原因是 winsock 控件是不支持 0x00 的,而 vb6 又不能做顶层编程
显然是在程序中对 0x00 做了其他处理,所以你用 C# 直接发 0x00 对方并不能理解
原因是 winsock 控件是不支持 0x00 的,而 vb6 又不能做顶层编程
显然是在程序中对 0x00 做了其他处理,所以你用 C# 直接发 0x00 对方并不能理解
20
发送的时候就要指定字节数组的,怎么可能发不出呢.