Здравствуйте, molinero, Вы писали:
M>Блин, народ разъясните кому не лень. Ни как не пойму...
M>Клиент отправляет сразу после подключения:
M>type
M> TPrefix=record
M> CMD: Integer;
M> Size: Integer;
M> end;
Во-первых,
PPrefxix = ^TPrefix;
TPrefix = packed record
CMD: Integer;
Size: Integer;
end;
Во-вторых,
кто обещал что Socket.ReceiveBuf(Prefix,Socket.ReceiveLength);
примет ровно SizeOf(TPrefix ) байт?
может придти и меньше и больше,
в случае меньше — накапливаем в буфер, пока не придет как минимум сколько нужно,
как дождались или в случае больше или равно
накладываем на буфер указатель (PPrefxix) структуры, читаем структуру,
продвигаемся по буферу (или откусываем голову)
M>При вызове SendBuf(ClientNo...) на сервере принимается какая то лабуда...