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

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

Проблема при коннекте клиента с сервером [Win95/98, WinME, NT4, Win2k, WinXP]


Blast ©   (2002-08-07 00:22:00) 

Если при запуске клиента он начинает стучаться до сервера и не находит его (сирвак выключен, что вполне возмножно), возникает ошибка. Эту ошибку аккуратно (try...exept) закрываем и стучимся снова. Это продолжается ~15 минут. Через 15 минут возникает ошибка 10055. Которая уже не перебивается try-ем. После этого попытки достучаться до сервера не продолжаются. Если в течение 15 минут сирвак проснулся, все ОК. Нужна помощь...

Blast :)


BLAST   (2002-08-18 22:59:00) [1]

YouNick ОГРОМНОЕ СПА-СИ-БА за то, что прояснил ситуацию ;) Malder по-видимому не сталкивался именно с этой ошибкой и поэтому говорит ErrorCode := 0. Это как и ВСЕ другие способы не помогут. А вот закрыть сокет - ЭТО ИМЕННО ТО, ЧТО И ТРЕБОВАЛОСЬ. (Я и сам в MSDNе находил объяснение этой ошибки, но ответа до сих пор найти не получалось. Перепробовал ВСЕ!!! Вплоть до API-клиента...).

YouNick - ЕЩЕ РАЗ АГ-РОМ-НОЕ СПА-СИ-БА !!!!!!!

Может и я чем смогу ;)

Blast :)


YouNick   (2002-08-08 10:50:00) [2]

2Malder: Это не спасет ;)

2Other
И речь идет только об ошибке 10055 - WSAENOBUFS - Это значит, что винды не могут создать новый сокет.
Так вот, чтобы не доходило до этого, нужно удалять именно апишный сокет, при ошибке 10061:
CloseSocket(Socket.SocketHandle)

Это касается только Борлондовых компонент, про другие не знаю ...


Malder   (2002-08-07 23:58:00) [3]

Да не. НЕ фига. Надо писать ErrorCode:=0 - тогда никаки окошек всплывать не будет. И никаких try...except не надо...


VID   (2002-08-07 21:06:00) [4]

TO YouNick: нифига себе... так что же.. получается при одшибке 10061 надо в OnError Socket.Destroy писать, или Socket.Close, хватит ?


YouNick   (2002-08-07 11:49:00) [5]

Смотря на чем написан твой клиент ... Имеется виду компоненты какие или API. В борландовских компонентах TClientSocket есть ошибка ;) Они не убивают созданный сокет, если не удалось установить связь с сервером.


Наверх

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