UDP协议为什么不能传送ASCII码值为0x00(Nul)的字符(使用TNMUDP控件)?(100分)

  • 主题发起人 主题发起人 ZHMZHMZHM
  • 开始时间 开始时间
Z

ZHMZHMZHM

Unregistered / Unconfirmed
GUEST, unregistred user!
UDP协议为什么不能传送ASCII码值为0x00(Nul)的字符(使用TNMUDP控件)?
由于在与单片机通信中需要用到0x00字符。如果一个字符串中第一个字符为0x00则整个字符
串将无法传输,如果0x00出现在中间,则后面的字符将会无法传输。不知这是为什么?
好象0x00有表示字符串结束的意思,有没有办法实现0x00字符的传输?
谢谢!
 
0x00是udp传输结束的标志。

用其他字符代替吧
 
你在你的两端转义一下得了。
 
楼上两位的加起来就是完整答案了
 
不会把,TNMUDP这么弱?还是你调用的不对,我用INDY的控件就没这问题。
声明一个: Buf: array of Byte;,然后再发送他。
 
你是不是用sendstring之类的函数了,改用sendstream吧
 

Similar threads

后退
顶部