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

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

Вопрос по сокетам [D5, Win2k]


sapsi ©   (2003-04-10 10:36:00) 

Добрый день
Ситуация такая.
При отладке клиентского приложения с Clientsocket в среде Делфи при ошибке на стадии компиляции происходит разррыв соединения, который не отлавливается серверной частью Serversocket, уже запущенной ранее.
Есть ли возможность отловить любые ошибки.
Везде в серверной части пишу все через try except
На clienterror делаю Errorcode:=0
Но серверная часть, запущенная не под Делфи а как обычный екзешник, все равно падает, но не при обрыве соединения, а при следующей попытке соединиться с ней после обрыва.
Спасибо.


Digitman   (2003-04-11 08:17:00) [1]


> sapsi


Если пртиложение "падает", то уже ничем не поможешь.
Умерла так умерла)


VID   (2003-04-11 00:14:00) [2]

делай в сервере так:
на onClientError, onClientDisconnect пиши
Server.Socket.Disconnect(Socket.SocketHandle);
try CloseHandle(Socket.Handle); except end;
try FreeAndNil(Socket); except end;

а то всякое бывает :)


sapsi   (2003-04-10 16:32:00) [3]

но если при рушится клиентское соединение с сервером, то почему нельзя просто обработать ошибку этого соединения.
С серверной частью ведь ничего не происходит.


Digitman   (2003-04-10 13:18:00) [4]


> Есть ли возможность отловить любые ошибки


нет.
если "программа выполнила недопустимую операцию и будет закрыта", то это не "отловишь"


sapsi   (2003-04-10 12:23:00) [5]

имеется ввиду, когда программа работает под управлением Делфи


Digitman   (2003-04-10 11:02:00) [6]


> при ошибке на стадии компиляции происходит разррыв соединения


на стадии компиляции никакого соединения не существует и существовать не может

нечему разрываться-то)


sapsi   (2003-04-10 10:39:00) [7]

P.S.
Единственный выход пока, на clienterror делать serversocket.close
затем serversocket.open,
но это отрубит всех клиентов.


Наверх

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