The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

форумы  помощь  поиск  регистрация  майллист  ВХОД  слежка  RSS
"Закрытие сокета"
Вариант для распечатки  
Пред. тема | След. тема 
Форумы Программирование под UNIX (Public)
Изначальное сообщение [Проследить за развитием треда]

"Закрытие сокета" 
Сообщение от FlanjaR Искать по авторуВ закладки(??) on 20-Апр-05, 16:40  (MSK)
Доброго времени суток.
Подскажите как правильно завершит работу сервера написаного на C++ висящего на определенном TCP порту, чтобы порт не оставался открытым после выхода из программы
  Правка | Высказать мнение | Ответить | Рекомендовать в FAQ | Cообщить модератору | Наверх

 Оглавление

Индекс форумов | Темы | Пред. тема | След. тема
Сообщения по теме

1. "Закрытие сокета" 
Сообщение от MIA2000 Искать по авторуВ закладки on 20-Апр-05, 17:54  (MSK)
>Доброго времени суток.
>Подскажите как правильно завершит работу сервера написаного на C++ висящего на определенном
>TCP порту, чтобы порт не оставался открытым после выхода из программы
>


closesocket(2);

или close(2);

точно не помню, короче важно закрыть сокеты за это и отвечает чифра 2, закрывая сокеты как передающей стороны так и принимающей

  Удалить Правка | Высказать мнение | Ответить | Рекомендовать в FAQ | Cообщить модератору | Наверх

2. "Закрытие сокета" 
Сообщение от MaximKuznetsov Искать по авторуВ закладки on 21-Апр-05, 00:26  (MSK)
>>Доброго времени суток.
>>Подскажите как правильно завершит работу сервера написаного на C++ висящего на определенном
>>TCP порту, чтобы порт не оставался открытым после выхода из программы
>>
>
>
>closesocket(2);
>
>или close(2);
>
>точно не помню, короче важно закрыть сокеты за это и отвечает чифра
>2, закрывая сокеты как передающей стороны так и принимающей

то что Вы видимо имели в виду называется shutdown

P.S. Господа, имейте совесть - давая ответы загляните предварительно в man, да и google тоже может помочь..


  Удалить Правка | Высказать мнение | Ответить | Рекомендовать в FAQ | Cообщить модератору | Наверх

3. "Закрытие сокета" 
Сообщение от FlanjaR Искать по авторуВ закладки(??) on 21-Апр-05, 07:57  (MSK)
>то что Вы видимо имели в виду называется shutdown

возможно я делаю что-то не так, но завершаю работу именно shutdown-ом


...
int sid, cid;
sid = socket();
bind();
list();
...
cid = accept();
...
close (cid);
...
shutdown(sid, SHUT_RDWR);
close(sid);
...

Но порт всеравно остается открытый

  Удалить Правка | Высказать мнение | Ответить | Рекомендовать в FAQ | Cообщить модератору | Наверх

4. "Закрытие сокета" 
Сообщение от butcher Искать по авторуВ закладки(ok) on 21-Апр-05, 08:13  (MSK)
>Но порт всеравно остается открытый

Это особенность протокола TCP, соединение остаётся некоторое время после закрытия в состоянии TIME_WAIT. Если вам это сильно досаждает, см. man setsockopt + опции SO_LINGER или SO_REUSEPORT.

  Удалить Правка | Высказать мнение | Ответить | Рекомендовать в FAQ | Cообщить модератору | Наверх

5. "Закрытие сокета" 
Сообщение от FlanjaR Искать по авторуВ закладки(??) on 22-Апр-05, 16:25  (MSK)
>Это особенность протокола TCP, соединение остаётся некоторое время после закрытия в состоянии
>TIME_WAIT. Если вам это сильно досаждает, см. man setsockopt + опции
>SO_LINGER или SO_REUSEPORT.

Очень мешало во время отладки приложения.
Большое спасибо, разобрался.

  Удалить Правка | Высказать мнение | Ответить | Рекомендовать в FAQ | Cообщить модератору | Наверх


Архив | Удалить

Индекс форумов | Темы | Пред. тема | След. тема
Оцените тред (1=ужас, 5=супер)? [ 1 | 2 | 3 | 4 | 5 ]
Пожалуйста, прежде чем написать сообщение, ознакомьтесь с данными рекомендациями.




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру