Главная страница
    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.012 c
15-1148249744
SkyRanger
2006-05-22 02:15
2006.06.18
Как извлечь из локального SVN номер релиза?


1-1147412552
Chaser
2006-05-12 09:42
2006.06.18
Отображение иконок в TreeView


2-1149245176
DelphiLexx
2006-06-02 14:46
2006.06.18
ComboBox отловить нажатие на стрелочку


2-1149014525
Blari
2006-05-30 22:42
2006.06.18
Перетаскивание в ListBox


1-1147354569
wisardo
2006-05-11 17:36
2006.06.18
Иконка экзешника.





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