Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Работа с сетью в Delphi
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 02.11.2011, 20:09   #1
Alex1991
Форумчанин
 
Аватар для Alex1991
 
Регистрация: 18.10.2008
Сообщений: 166
Вопрос При быстрой отправке буфера(ов) - asynchronous socket error 10051

Если серверу отправить слишком много буфера(ов) (использую SendBuf), то выскакивает ошибка 10053, и этот клиент, который их отправил, сразу отключается от сервера. Как сделать так, чтобы сервер обрабатывал все входящие данные, которые ему посылают клиенты, по очереди ?
Если отправлять буфер не спеша, то все ок.

Последний раз редактировалось mihali4; 02.11.2011 в 23:53.
Alex1991 вне форума Ответить с цитированием
Старый 02.11.2011, 23:54   #2
mihali4
*
Старожил
 
Регистрация: 22.11.2006
Сообщений: 9,201
По умолчанию

Не пробовали между отправками (приемами) вставить
Код:
Application.ProcessMessages;
???

Последний раз редактировалось mihali4; 03.11.2011 в 01:55.
mihali4 вне форума Ответить с цитированием
Старый 03.11.2011, 02:09   #3
Alex1991
Форумчанин
 
Аватар для Alex1991
 
Регистрация: 18.10.2008
Сообщений: 166
По умолчанию

Спасибо за быстрый ответ, только-что попробовал использовать Ваш совет но все-равно ошибка та же.
Но все-таки данный способ немного помог, уже отправляеться больше буферов без ошибки чем раньше..

Последний раз редактировалось Alex1991; 03.11.2011 в 02:18.
Alex1991 вне форума Ответить с цитированием
Старый 03.11.2011, 02:23   #4
mihali4
*
Старожил
 
Регистрация: 22.11.2006
Сообщений: 9,201
По умолчанию

Не знаю вашей программы, но...
Может, попробовать перед (или после)
Код:
Application.ProcessMessages;
вставить еще, например,
Код:
Sleep(100);
???
Или вообще сделать обрамление :
Код:
Application.ProcessMessages;
Sleep(100);
Application.ProcessMessages;
А вдруг ?
mihali4 вне форума Ответить с цитированием
Старый 03.11.2011, 02:27   #5
Alex1991
Форумчанин
 
Аватар для Alex1991
 
Регистрация: 18.10.2008
Сообщений: 166
По умолчанию

Цитата:
Сообщение от mihali4 Посмотреть сообщение
Не знаю вашей программы, но...
Может, попробовать перед (или после)
Код:
Application.ProcessMessages;
вставить еще, например,
Код:
Sleep(100);
???
Или вообще сделать обрамление :
Код:
Application.ProcessMessages;
Sleep(100);
Application.ProcessMessages;
А вдруг ?
Ооо вот так работает как нужно! Благодарю!

Это хорошо, что работает, но...
Зачем вы отвечаете с цитированием всего предыдущего поста ? Чтоб "простыня" подлиннее получилась ?
Вы не видите кнопку справа от кнопки "Цитата" ?
Или вам почему-то не видно пустое окно редактора под последним сообщением ?
За оверквотинг у нас штрафуют, имейте это ввиду.
Дабы не нарушать правила раздела, внимательно их почитайте...
Вы уже получали штраф за флуд.

Последний раз редактировалось mihali4; 03.11.2011 в 15:48.
Alex1991 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Перехват Asynchronous Socket Error _-Re@l-_ Общие вопросы Delphi 3 07.08.2011 20:29
Сервер клиент asynchronous socket error 10061 Pein95 Работа с сетью в Delphi 15 22.01.2011 03:33
Asynchronous socket error 10061 Nice42ru Помощь студентам 5 21.08.2010 12:32
asynchronous socket error 10060 delphin100 Работа с сетью в Delphi 6 07.05.2008 07:07