个人想法: 也许你的说法需要更正一下,传递数组?好像没这么一说法! 要是你想传输数据的话,你可以采取自己的协议(Protocol)!! 例如:你在Server端把需传递的数据按某种格式存放到一String变量中或Stream中,然后Send到Client端!在Client端也按照同样的格式读取!当然,你在Send之前可以压缩,这样可以加快传输速度!![注]:对于作出的回复不作正确性保证
Copyright(C) 2002 CoolSlob :-)
Copyright(C) 2002 CoolSlob :-)
我以前也做过这样的程序,只可惜现在没办法给你。过两天我给你发一份,你的
email是什么?
你的方法不错,但是我觉得不太安全了。。TO:CoolSlob()
我现在用的就是这个方法,但是好像每次传送的数据有限制的,如果我想传送大数据怎么吧?? 如果是分包发送,到了另一端要如何合并?TO:mkany(马可)
我看过那个例子,也照着上面的写了,不过只是发送一条字符串,我想发送一批的字符串,而是有几个客户端同时发送。所以那个“chat”程序不能满足
我的要求,你有别的程序吗? 我的MAIL是 [email protected]
具体方法是:
1、每次发送的数据限制在一定的大小范围内例如1K(如果数据大于1K);
2、如果小于1K,加上结束标志符后发送这些数据;
3、在接受端,看到结束标志符后合并数据即可。
//*****************************************************************
Procedure TDataModule1.SendUDP(IP:String;Port:Integer;Data:String);
var
i:integer;
BufOfSend:array[1..1024] of char;
begin
for i:=1 to length(Data) do begin
BufOfSend[i]:=Data[i];
end;
NMUDP1.RemoteHost:=IP;
NMUDP1.RemotePort:=port;
NMUDP1.SendBuffer(BufOfSend,length(Data));
end;