パケットをUDPサーバーに正しく送信するにはどうすればよいですか?試していますが、機能していません。サーバーから何も受信していません。
必要なのはパケットを送信することです。int64|int|int
そして、サーバーからパケットを受信します。int|int|int64
それを正しく行う方法は?ありがとう。
type
Tconnecting = record
a: int64;
b: integer;
c: integer;
end;
Treply_connect = record
a: integer;
b: integer;
c: int64;
end;
var
udp: TIdUDPClient;
send_data: TIdBytes;
received_data: TIdBytes;
i: integer;
packet: Tconnecting;
reply_packet: Treply_connect;
begin
packet.a := 41727101980;
packet.b := 0;
packet.c := RandomRange(1, 9999999);
SetLength(send_data, sizeof(packet));
Move(packet, send_data[0], sizeof(packet));
udp := TIdUDPClient.Create(nil);
try
udp.Host := 'server.com';
udp.Port := 1234;
udp.SendBuffer(send_data);
SetLength(received_data, 0);
i := udp.ReceiveBuffer(received_data, 5000);
Memo1.Lines.Add('Data reiceived! Len:'+IntToStr(Length(received_data))+',data:|'+BytesToString(received_data, 0)+'|');
finally
FreeAndNil(udp);
end;