Piszę mały program do komunikacji z serwerem iBox (taka mała skrzyneczka do zarządzania żarówkami)
Komunikuje się z tym po UDP
Robię tak
var
x,yy: TidBytes;
I : byte;
temp: string;
dataLen : integer;
begin
temp := '130000000a03d3ea11f0fe6bbb6862';
SetLength(x, length(temp) div 2);
i:= 0;
while temp <> '' do
begin
x[I] := StrToInt('$' + copy(temp,1,2));
inc(I);
delete(temp,1,2);
end;
IdUDPClient1.Host := '192.168.2.105';
IdUDPClient1.Port := 5987;
IdUDPClient1.Active := true;
IdUDPClient1.SendBuffer(x);
sleep(100);
SetLength(yy,100);
dataLen:=idUDPclient1.ReceiveBuffer(yy,sizeOf(yy));
Zamieniam string na tablicę bajtów (przy okazji jak można to zrobić łatwiej?)
Wysyłam tablicę bajtów
Serwer odpowiada tablicą bajtów (wiem po sprawdzam pakiety programem WireShark)
ale u mnie zawsze dataLen = 0
oraz yy = puste
Poradzicie co robię źle?