当我收到的数据Numberbytes大于2048就不能接收成功,是什么原因?怎么解决。
procedure TForm1.NMUDP1DataReceived(Sender: TComponent;
NumberBytes: Integer; FromIP: String; Port: Integer);
var
mystream:Tmemorystream;
tmpstr:string;
RecData: array of byte;
Rs:ansistring;
i:integer;
begin
mystream:=Tmemorystream.create;
try
NMUDP1.ReadStream(mystream);
setLength(RecData,Numberbytes);
mystream.Read(Pchar(RecData)^,Numberbytes);
for I := low(RecData) to high(RecData) do
Rs := Rs + IntToHex(RecData[I],2);
memo2.Clear;
memo2.Lines.Add(Rs);
finally
mystream.free;
end;
end;
当我收到的数据Numberbytes大于2048就不能接收成功,是什么原因?怎么解决。