Вверх ↑
Ответов: 3889
Рейтинг: 362
#1: 2011-11-25 09:53:24 ЛС | профиль | цитата
hitman249, сразу предупреждаю, я не делфятник и буду опираться на свой опыт работы с сокетами в ассемблере по аналогии, местные гуру поправят. С очень большой долей вероятности могу предположить, судя по исходным кодам пары библиотек и пары компонентов, в частности, TCP_Client, на базе которого собран сервер, что отправка не учитывает некоторых ньюансов при передаче. По-хорошему программист должен был проверять, успело ли установиться соединение (SendBlocked = False), не произошло ли других ошибок. Вместо этого беспечно предполагается, что отправка ВСЕГДА заведомо успешна Хуже того, временная блокировка сокета (это когда, например, соединение инициализируется и данные не могут быть отправлены прямо сейчас) - это вообще единственное, что хоть как-то обрабатывается из возможных ошибок, можете забыть про onError - он сделан для красоты и бесполезен. А бесполезен он потому, что TCP_Client реализует функционал через TCP.pas, в котором игнорируются практически все остальные ошибки. Вот такой вот пофигизм.
------------ Дoбавленo в 09.46:
nesco писал(а):
мысль передавать кусками

А мысль исправить кривые библиотеки и компоненты?
------------ Дoбавленo в 09.53:
Или TCP.pas - очередная неприкосновенная историческая ценность?
карма: 1

2
Голосовали:Tad, hitman249