Indy 怎样发送数据,例如
Var Buff:array of string
setlength(buff,3);
buff[0]:='1';
buff[1]:='2';
buff[2]:='1';
TCPClient.WriteBuffer(Buff,length(buff));
接收TCPClient.ReadBuffer(buff,3);
为什么会接收不到数组呀,,哪位朋友帮忙解决下,,附上源码
Var Buff:array of string
setlength(buff,3);
buff[0]:='1';
buff[1]:='2';
buff[2]:='1';
TCPClient.WriteBuffer(Buff,length(buff));
接收TCPClient.ReadBuffer(buff,3);
为什么会接收不到数组呀,,哪位朋友帮忙解决下,,附上源码
TCPClient.WriteBuffer(Buff[0],length(buff));
这样ok了
这里用length(buff)是不对的,这只是数组的长度(个数),而不是数组包含内容的字节数
TCPClient.WriteBuffer(Buff,SizeOf(s)*length(s));//s不能是字符串数组ReadBuff也一样 长度要写一个大一点的值(缓冲区的长度)
竟然是字符串数组!!!
必须一个字符串的发送
TCPClient.WriteBuffer(Buff[0][1],length(Buff[0]));
算了,不说多了,建议继续去深造吧