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

Вниз

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 вся ветка

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

Наверх





Память: 0.46 MB
Время: 0.011 c
15-1148279147
rts111
2006-05-22 10:25
2006.06.18
Прошу протестировать мою небольшую программу.


1-1147193381
allrussia
2006-05-09 20:49
2006.06.18
Преобразов. спецсимволов (º &#239 ) в обычный текст (е, i)


1-1147371417
GanibalLector
2006-05-11 22:16
2006.06.18
TMethod


15-1148392394
oldman
2006-05-23 17:53
2006.06.18
Как быть в случае отсутствия 8w???


6-1139760370
Shamansky
2006-02-12 19:06
2006.06.18
TUdpSocket





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