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

Вниз

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;
Скачать: CL | DM;

Наверх




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


4-65672
while(1=1)
2003-08-13 18:52
2003.10.20
Нужно узнать что передает через message одна программа другой!


1-65520
Relaxxx
2003-10-08 12:55
2003.10.20
Количество часов между часами(извиняюсь за тафтологию)


4-65677
^^^Dragon^^^
2003-08-15 18:08
2003.10.20
Вывод текста прямо на экран


1-65540
Yanis
2003-10-08 09:10
2003.10.20
Podsvetka sintaksisa