我想用UDP实现网络通信,我想通过IDUDPServer传回一个TstringList类型数据。
我在其UDPServerUDPRead事件中,这样写的,编译能通过。 filelst := TStringList.Create;
FindAll(rect,filelst);
//开始返回列表
ABinding.SendTo(ABinding.PeerIP,ABinding.PeerPort,filelst,sizeof(filelst));
FreeAndNil(filelst);但是我在UDPClient中进行接收,编译也通过,但运行就报错。
filelst := TStringList.Create;
self.UDPClient.ReceiveBuffer(filelst,4096);//这个数值怎么付??
self.ListView1.Items.Clear;
for i:= 0 to filelst.Count -1 do //报错!!!!高手有没有办法??
我在其UDPServerUDPRead事件中,这样写的,编译能通过。 filelst := TStringList.Create;
FindAll(rect,filelst);
//开始返回列表
ABinding.SendTo(ABinding.PeerIP,ABinding.PeerPort,filelst,sizeof(filelst));
FreeAndNil(filelst);但是我在UDPClient中进行接收,编译也通过,但运行就报错。
filelst := TStringList.Create;
self.UDPClient.ReceiveBuffer(filelst,4096);//这个数值怎么付??
self.ListView1.Items.Clear;
for i:= 0 to filelst.Count -1 do //报错!!!!高手有没有办法??
filelst := TStringList.Create;
FindAll(rect,filelst);
rect := filelst.Text;
ABinding.SendTo(ABinding.PeerIP,ABinding.PeerPort,rect[1],Length(rect));
FreeAndNil(filelst);
可我怎么取呢?这样我取到的数据不对呀?。
filelst := TStringList.Create;
rect := self.UDPClient.ReceiveString();
filelst.Text:= rect;
就可, 會自動帶轉行符的,
到另外一邊, 再用另外一個TStringList.Text 的東西加上去就可
通过ABinding.SendTo(ABinding.PeerIP,ABinding.PeerPort,rect[1],Length(rect));
这样子发送本文是不是有长度限制!!??????
当strings特别大时候,就出现message too long的错误!!