Показать сообщение отдельно
Старый 18.07.2012, 23:16   #10
moka
.
 
Регистрация: 05.08.2006
Сообщений: 10,429
Написано 3,454 полезных сообщений
(для 6,863 пользователей)
Ответ: Непонятки с TCP/IP

Ну почему число TCPlength в итоге больше 1000 это и так понятно.

Тут нету проверки сколько данных ты принял, это и вызывает проблему скорее всего. Т.к. в очень редких случаях ты примешь не достаточно данных (в сетевом стёке не всё ещё), а ожидаешь достаточно.
Попробуй проверку замутить:
ReceiveNetworkData(TCPclientID,*TCPBuffer,TCPlength)
MessageLength.i=PeekL(*TCPBuffer)
If MessageLength != TCPlength : PrintN("Not the same!") : EndIf
Также снова, убедись что подсчёт длины пакета корректный и сливаешь ты их тоже корректно.
Лучше запости код где ты это делаешь, и опиши, делаешь ассинхронно или синхронно?
(Offline)
 
Ответить с цитированием