首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ Builder >

UDP发送的数据可以包孕0吗

2013-01-06 
UDP发送的数据可以包含0吗?我用C++Builder2010的IdUDP控件发送数据,发送一个字符串:TBytes MsgStrString

UDP发送的数据可以包含0吗?
我用C++Builder2010的IdUDP控件发送数据,发送一个字符串:
TBytes MsgStr;
String s = {1,2,3,0,4,5,6};
s.SetLength(8);
MsgStr = s.BytesOf();
IdUDPClient1->SendBuffer(ip, port, MsgStr);

貌似s[3]这个0值会使得MsgStr截断,但是我确实又要发送0值(数据文件里有0),怎么办?
[解决办法]
自己都找到问题了,呵呵
直接定义为数组吧

char ch[8]={1,2,3,0,4,5,6};

[解决办法]
发送与接收肯定都是可以的。

[解决办法]
不知道你的indy是哪个版本,下面代码给你参考一下,顺手写的,没测试过
  char ch[8]={1,2,3,0,4,5,6};
  TByteDynArray aa;
  aa=RawToBytes(ch,8);
  IdUDPClient1->SendBuffer(aa);
[解决办法]
既然你要发送含0的数据,用byte数组比较科学。
[解决办法]
SendBuf(LPVOID pBuff,int count);
其中pBuff是一块缓冲区,根据count发送该缓冲区多少内容
[解决办法]
用二进制方式发送mem数据

热点排行