IdUDPServer问题,请高手指点!
我用delphi7做的UDP通讯,代码如下:
发送端用IdUDPClient,代码如下:
procedure SendInformation(DataByte:TArrayType);
var len,i:integer;
lsSendBuff: array[0..39] of byte;
begin
len:=High(DataByte)+1;
for i:=0 to len-1 do lsSendBuff[i]:=DataByte[i];
FormMain.IdUDPClient1.SendBuffer(lsSendBuff,len);
End;
接收端用IdUDPServer,代码如下:
procedure TFormMain.IdUDPServer1UDPRead(Sender: TObject; AData:TStream;
ABinding: TIdSocketHandle);
var
lsRevBuff:array[0..39] of byte;
Len: integer;
begin
//从流中读取数据到临时缓冲区
Len:=AData.Size;
if len<>40 then exit;
AData.ReadBuffer(lsRevBuff,Len);
end;
如果按上述方法发送能正确接收,如果将发送端改成下列代码,接收端就不能正确接收,请指点,谢谢!
procedure SendInformation(DataByte:TArrayType);
var len:integer;
begin
len:=High(DataByte)+1;
FormMain.IdUDPClient1.SendBuffer(DataByte,len);
End;