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

Вниз

TServerSocket. Что это за странные хенделы -1 ?   Найти похожие ветки 

 
SergP   (2003-08-24 15:22) [0]

В процессе работы в TClientSocket возникают странные хенделы (-1).К тому же постепенно их становится все больше и больше. Эти соединения уже не используются и должны быть закрытыми, т.е. их вообще не должно быть.
По идее при дисконекте соединение должно исчезнуть, а при возникновении ошибки работает такой обработчик:

procedure TForm1.ServerSocketClientError(Sender: TObject;
Socket: TCustomWinSocket; ErrorEvent: TErrorEvent;
var ErrorCode: Integer);
begin
socket.close;
ErrorCode:=0;
end;

Пока не могу вычислить когда они возникают, но может кто-нить что-нить подскажет отчего некоторые соединения не исчезают а остаются (но с хенделом -1)?


 
Digitman   (2003-08-25 08:47) [1]

рискни вместо
socket.close;
использовать
socket.free;


 
Reindeer Moss Eater   (2003-08-25 13:14) [2]

Если есть NAT и если при разрыве соединения не посылается fin-пакет, то такое "дропнутое" соединение может висеть 24 часа. (Default value у cisco)


 
NikB   (2003-08-25 13:29) [3]

Ia ne ochen v delo, no v etom forume sovetovali plxzovat:

Socket.Disconnect(Socket.SocketHandle); // закроем гнездо


 
Digitman   (2003-08-25 13:29) [4]


> Reindeer Moss Eater


да у него из другой оперы проблема)

TCustomWinSocket.Close не вызывает метод TServerWinSocket.RemoveClient(), ибо последний вызывается лишь в TServerClientWinSocket.Destroy


 
Digitman   (2003-08-25 13:31) [5]


> NikB


внутри метода Socket.Close напрямую вызывается то, что тебе "советовали" ....так что разницы никакой


 
NikB   (2003-08-25 13:39) [6]

>Digitman
10x
Nado chitat source :)


 
Digitman   (2003-08-25 13:41) [7]


> NikB


вот именно)



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

Форум: "Сети";
Текущий архив: 2003.10.20;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.46 MB
Время: 0.009 c
1-65493
AndrewPo
2003-10-08 11:51
2003.10.20
перемещение между TEdit ами по нажатию Enter


3-65348
Alexander Vasjuk
2003-09-29 13:15
2003.10.20
Создание таблицы DBase с помощью ADO


1-65497
АТ
2003-10-08 10:32
2003.10.20
поля в TPrinter


4-65673
uncle
2003-08-16 02:11
2003.10.20
Обработка сообщений формы из её компонента.


14-65578
SGU
2003-10-01 11:44
2003.10.20
Просмотр процесса





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский