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

Вниз

Socket and TIME_WAIT   Найти похожие ветки 

 
balepa ©   (2006-03-20 13:50) [0]

Как закрыть сокет чтобы не было TIME_WAIT если возможно без уничтожения хэндла?


 
Сергей М. ©   (2006-03-20 13:56) [1]


> Как закрыть сокет


>  без уничтожения хэндла


Никак.

Закрытие сокета и есть его уничтожение (closesocket(хэндл)).


> чтобы не было TIME_WAIT


Что за TIME_WAIT ?


 
balepa ©   (2006-03-20 14:02) [2]

When a TCP connection is closed correctly, the connection changes to a TIME_WAIT state.
While a connection is in the TIME_WAIT state, the socket pair cannot be re-used.
после закрытия порт в состоянии TIME_Wait и к нему не возможно подключиться пока не пройдет несколько мин (вроде 4 или 2)


 
Сергей М. ©   (2006-03-20 14:10) [3]


> balepa ©   (20.03.06 14:02) [2]


Откуда цитата ?
Приведи ссылку на первоисточник ..


 
Eraser ©   (2006-03-20 14:17) [4]


> balepa ©   (20.03.06 14:02) [2]

выход один - не используй ту же "socket pair", по-умолчанию клиент должен в качестве своего (Bound) порта принимать эфимерный порт со случайным номером, т.е. указываешь 0.


 
Rouse_ ©   (2006-03-20 14:28) [5]

shutdown уже не в почете?


 
balepa ©   (2006-03-21 05:08) [6]


> Сергей М. ©   (20.03.06 14:10) [3]
> Откуда цитата ?
> Приведи ссылку на первоисточник ..

http://support.microsoft.com/kb/q150523/#kb1


> Eraser ©   (20.03.06 14:17) [4]

Так и делаю каждый раз открывается новый порт, на моем компе работает на др. нет


> Rouse_ ©   (20.03.06 14:28) [5]
>shutdown уже не в почете?

Не знаю посмотрю


 
balepa ©   (2006-03-21 07:27) [7]


> balepa ©   (21.03.06 05:08) [6]

p.s: У остальных Addres in use


 
Сергей М. ©   (2006-03-21 08:12) [8]


> balepa ©   (21.03.06 05:08) [6]


Что-то я не вижу по приведенной ссылке ничего похожего на TAIM_WAIT.


 
balepa ©   (2006-03-21 09:14) [9]

экскузимуа
http://support.microsoft.com/default.aspx?scid=kb;en-us;137984
не совсем про TIME_WAIT

Но проблема вроде решилась. Закрываю сокет, создаю новый. Но почему на др. компах до этого не открывался новый порт, а "долбился" в открытый который в состоянии TIME_WAIT (при Port = 0), а у меня нормально работает в обоих случаях ?


 
Rouse_ ©   (2006-03-21 15:42) [10]

В крайнем сучае делай
Opt := 1;
setsockopt(FServer, SOL_SOCKET, SO_REUSEADDR, @Opt, SizeOf(Opt))



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

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

Наверх




Память: 0.49 MB
Время: 0.049 c
15-1148273802
Ega23
2006-05-22 08:56
2006.06.18
С Днём рождения! 21 мая


2-1148196813
Belorus
2006-05-21 11:33
2006.06.18
Список процедур в библиотеке


2-1148964349
kashmar
2006-05-30 08:45
2006.06.18
Хэлп по таблице


2-1149012569
Галинка
2006-05-30 22:09
2006.06.18
Что такое хэш-таблица. Как ее реализовать на Дельфи?


15-1148560432
ArtemESC
2006-05-25 16:33
2006.06.18
BAT - файл...