вот так получишь все данные в Buf, если они не превышают 32 кб, что думаю у тебя никогда не произойдет.
Код:
var
Buf: array[0..32767] of char;
begin
Socket.ReceiveBuf(Buf, Socket.ReceiveLength);
end;
и потом из Buf выделяй от 0 до Socket.ReceiveLength, вот тебе и данные твои будут. И потом выделяй из них структуры в цикле:
Код:
for i:=1 to Socket.ReceiveLength div SizeOf(TSendStruct)
P.S.: если с 9ти утра будешь в аське, помогу, потом времени не будет.
P.S.2: или вообще сделать динамический массив char'ов и устанавливать ему размер от 0 до Socket.ReceiveLength (в нем и будут все твои данные которые пришли в текущий момент)