| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > C/C++: Сети > Сервер, после завершения |
| Автор: MaXL 3.6.2007, 15:52 |
| Всем привет! Пишу консольное приложение, которая постоянно весит в памяти и слушает определённый порт. Но если программу завершить через "Диспетчер задач Windows", то при повторном запуске моего приложения программу уже не может забандить порт(т.е. функция bind возвращает SOCKET_ERROR). Просмотрел, после завершения моей программы, порт на котором она висела остаётся открытым, и с помощью telnet.exe к нему _иногда_ можно подключиться. Что же это такое? И как с этим бороться или не как? P.S. если нужен исходник могу кинуть, хотя там стандартное: создание сокета, включение прослушки и бесконечный цикл(обработка подключений), правда для этой процедуры создаётся отдельный поток, в котором она и выполняется, может из за этого всё так плохо? |
| Автор: ptr 3.6.2007, 17:08 |
| setsockopt и SO_REUSEADDR тебе помогут. |
| Автор: MaXL 4.6.2007, 03:29 |
| ptr, спасибо. Всё работает! |