Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2002.02.21;
Скачать: CL | DM;

Вниз

ClientSocket - обработка ошибок.   Найти похожие ветки 

 
Bioside   (2001-12-03 13:56) [0]

Здравствуйте,
Ситуация такая:
ClientSocket ждет подключение к ServerSocket через таймер -
procedure TForm1.Timer1Timer(Sender: TObject);
begin
if not clientsocket1.active then clientsocket1.open ;
Clientsocket1.socket.SendText(ip) ;
end;

И в обработчике ошибок ставлю только ErrorCode:=0 -
procedure TForm1.ClientSocket1Error(Sender: TObject;
Socket: TCustomWinSocket; ErrorEvent: TErrorEvent;
var ErrorCode: Integer);
begin
errorcode:=0;
end;

Естественно, что долго такое безобразие длится не может и через
некоторое время (если ServerSocket не активирован) на каждый вызов по таймеру появляется ошибка
SokcetError (10055) on API "connect".
Подскажите, что добавить в procedure TForm1.ClientSocket1Error
чтоб этого не происходило.


 
digitman ©   (2001-12-03 14:03) [1]

Socket.Close


 
Wizard_Ex ©   (2001-12-03 14:49) [2]

Application.OnException
{
if E is ESocketError then
begin...
}
И так отловишь полностью все ошибки сокетов


 
Bioside   (2001-12-03 17:16) [3]

digitman, в обработчике ошибок ClientSocket1.Close стоял (мать его так).
Проблему он не решает, а только вызывает другую - как только клиентский сокет дорывается до серверного сокета, то на нем (на серверном) могут
появляться двойные соединения т.е. ServerSocket.Socket.Connections[X].RemoteAddress=ServerSocket.Socket.Connections[Y].RemoteAddress что не есть ИМХО хорошо.
Может еще чего надо дополнительно прописать...

Wizard_Ex, спасибо, попробую.

Вообще, я предполагаю, что есть какой-то стек ошибок, переполнение которого
и вызывает эти ошибки. Думал, что мне и подскажут как его освобождать, но
может его и нет вовсе :-)


 
Wizard_Ex ©   (2001-12-04 08:19) [4]

Насчет стека это ты прав я думаю.
Причем в NT этот стек гораздо больше (поведение программ несколько другое при еррорах)



Страницы: 1 вся ветка

Текущий архив: 2002.02.21;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.009 c
14-66666
MJH
2002-01-02 11:07
2002.02.21
чё все в ауте уже? то в новогоднюю ночь пишут, то вечером 2го никого нет....


3-66504
Anatolich
2002-01-30 03:08
2002.02.21
Показ текущей записи в Edit


3-66467
Yura_Neo
2002-01-24 07:27
2002.02.21
InputOutput параметр в dbExpress TSQLQuery не возвращает значение


1-66510
IronHawk
2002-02-06 17:01
2002.02.21
данные из QuickReport.Preview сохранять в 123.txt файл !


3-66483
masik
2002-01-29 12:21
2002.02.21
MS SQL Types