Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Socket and TIME_WAIT [Win95/98]


balepa ©   (2006-03-20 13:50:00) 

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


Rouse_   (2006-03-21 15:42:00) [1]

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


balepa   (2006-03-21 09:14:00) [2]

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

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


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


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


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


balepa   (2006-03-21 07:27:00) [4]


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

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


balepa   (2006-03-21 05:08:00) [5]


> Сергей М. ©   (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 уже не в почете?

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


Rouse_   (2006-03-20 14:28:00) [6]

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


Eraser   (2006-03-20 14:17:00) [7]


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

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


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


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


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


balepa   (2006-03-20 14:02:00) [9]

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 13:56:00) [10]


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


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


Никак.

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


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


Что за TIME_WAIT ?


Наверх

Титульная страница Поиск, карта сайта Написать письмо