现在运用TTcpclient和TTcpserver组件进行网络通信,在客户端(即TTcpclient端)怎么用SendBuf方法来
传递数组,服务端(即TTcpserver端)怎么用ReceiveBuf方法来接收数组?我在程序中采用的代码:
(1)客户端:
var
buf:Array[1..3]of String;
begin
buf[1]:='0';
buf[2]:='3';
//对数组中的元素进行赋值。
Client1.sendBuf(buf,sizeof(buf));//Client1表示TTcpclient的一个对象,然后利用sendBuf方法把buf数组传出去。
end;
(2)服务端:var
buf1:Array[1..3]of String; //定义一个数组buf1,该数组是全局变量。
procedure Server1Accept(Sender: TObject; ClientSocket: TCustomIpClient); //在服务端的OnAccept事件中接收客户端发来的数组。begin
ClientSocket.ReceiveBuf(buf1,sizeof(buf1)) ;//应用ReceiveBuf方法来接收客户端发来的数组。我认为客户端发来的内容都存储在了数组buf1中。
if buf1[1]='0' then ...//后面的代码中,我就直接操作buf1中的元素。end;
我是这样来运用SendBuf()和ReceiveBuf()方法的,但是错了,不能达到预想的效果,不知道错在哪里???请各位大侠指点指点!!!
传递数组,服务端(即TTcpserver端)怎么用ReceiveBuf方法来接收数组?我在程序中采用的代码:
(1)客户端:
var
buf:Array[1..3]of String;
begin
buf[1]:='0';
buf[2]:='3';
//对数组中的元素进行赋值。
Client1.sendBuf(buf,sizeof(buf));//Client1表示TTcpclient的一个对象,然后利用sendBuf方法把buf数组传出去。
end;
(2)服务端:var
buf1:Array[1..3]of String; //定义一个数组buf1,该数组是全局变量。
procedure Server1Accept(Sender: TObject; ClientSocket: TCustomIpClient); //在服务端的OnAccept事件中接收客户端发来的数组。begin
ClientSocket.ReceiveBuf(buf1,sizeof(buf1)) ;//应用ReceiveBuf方法来接收客户端发来的数组。我认为客户端发来的内容都存储在了数组buf1中。
if buf1[1]='0' then ...//后面的代码中,我就直接操作buf1中的元素。end;
我是这样来运用SendBuf()和ReceiveBuf()方法的,但是错了,不能达到预想的效果,不知道错在哪里???请各位大侠指点指点!!!
buf:Array[1..3]of char
String 是动态的
buf:Array[1..3]of String; 改为
buf:Array[1..3]of string[1];