Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Сети";
Текущий архив: 2002.02.21;
Скачать: [xml.tar.bz2];

Вниз

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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.45 MB
Время: 0.004 c
6-66640
Ihor
2001-11-30 17:58
2002.02.21
Версия ВинСок.


7-66696
harisma
2001-11-15 14:19
2002.02.21
Работа с InstallShield


3-66418
Oleon
2002-01-25 11:09
2002.02.21
Здраствуйте. Как мне сжать базу в InterBase.


3-66424
Vad_M
2002-01-25 15:30
2002.02.21
Как получить номер рекорда в CachedUpdates наборе?


14-66683
Xpdeveloper
2001-12-22 09:51
2002.02.21
А мне вот интересно ваше отношение к .NET





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский