Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

переролнение буфера сетевухи [D6, Win2k]


Manulo ©   (2002-12-12 16:20:00) 

Собственно сабж.... Прога клиент на основе TClientSocket начинает много много матюкаться [САБЖ], если стоит долго без связи с сервером. Как бороться, уважаемые мастера?


Repear   (2002-12-19 14:46:00) [1]

Как показала практика Close и Active:=false не одно и тоже...
IMHO close как то коряво написана
возникающие с ней ошибки при использовании active частенько пропадают


Manulo   (2002-12-13 13:59:00) [2]


> SH@DOW

Вообщето я закрываю сокет как ClientSocket1.Close;.
Хотя мне кажеться что это то же самое, что и ClientSocket.active:= false:(...
Ясн, спасибо за совет


SH@DOW   (2002-12-13 13:15:00) [3]

Ошибка случаем не 10055, если она то вопрос ясен, в делфе коряво написан компонент TClientSocket. С такой проблемой когдато сталкнулся попробуй закрывать сокет не ClientSocket.active:= false, a ClientSocket1.Socket.Disconnect ClientSocket1.Socket.SocketHandle);
Нежели не получиться скажи


Nord-Ost   (2002-12-13 12:57:00) [4]

Слушай, а там ничего про стек не упоминается?


Manulo   (2002-12-13 12:27:00) [5]


> Anatoly Podgoretsky ©

Собственно, а как опорожнить буфер?????


Anatoly Podgoretsky   (2002-12-13 11:50:00) [6]

Не надо так часто обращаться, у тебя же накапливаются в буфере данные при этом, о чем тебе и сообщается


Manulo   (2002-12-13 11:36:00) [7]


> Nord-Ost ©

Код значения не имеет. Попробуй создать клиентское приложение (на основе TClientSocket), потом поставь Timer, который при отсутствии подключения к серверу будек каждые 3 (допустим) секунды пытаться восстановить\наладить коннект. При прошествии некоторого времени (нескольких часов) твоя программа начнёт выдавать ошибки, подобные САБЖу (то есть "не удаёться чегото поставить в очередь так как буфер приёма(или передачи) слишком мал").
!!! Кстати, вот утром выяснолось, что если даже есть коннект, но не происходит обмена пакетами между клиентом и сервером, история повторяется.
Так вот вопрос, как этот самый буфер можно очистить иж под Делфи?


Nord-Ost   (2002-12-12 18:25:00) [8]

Ничего не понял... Код нарисуй, вместе помозгуем.


Наверх

Титульная страница Поиск, карта сайта Написать письмо