Поиск  Пользователи  Правила 
Закрыть
Логин:
Пароль:
Забыли свой пароль?
Войти
 
Страницы: 1
RSS
FreeBSD, TCP-подключения, Как закрыть TCP-подключение открытое другим процессом
 
Доброго времени суток, джентельмены!

Имеется:
1. Сервер под управлением FreeBSD 7.2
2. TCP сервер, обслуживающий входящие соединения поднятый на вышеуказанном сервере

Иногда возникают ситуации, когда TCP соединение по факту уже разорвано, но socket (смотрю командой netstat) в состоянии established. Это создаёт определённые трудности, описывать долго. Суть в следующем - возможно ли (если да - то как) закрыть данный сокет.

Про сокет знаем всё, что покажет netstat.

Подскажите, можно-ли закрыть сокет, не убивая при этом сам процесс, или скажите, в какую сторону копать.

Заранее благодарен.
 
TCP-сервер говоришь? :o

первый раз слышу такой термин :-D
 
есть клиентские сокеты, есть серверные? Разве не так? Мне нужно закрыть чужой сокет (сокет чужого процесса) на стороне сервера.
 
man tcpdrop
 
Лучше чужой сокет не закрывать, а отрезать его файрволлом - пусть то приложение само мучается и закрывает свои сокеты.
 
Цитата
*tyler* пишет:
man tcpdrop
Уже побежал, спасибо!
Цитата
Andrey Y. Ostanovsky пишет:
Лучше чужой сокет не закрывать, а отрезать его файрволлом - пусть то приложение само мучается и закрывает свои сокеты.
Так в том-то и оно, что пакетов никаких не ходит и не пытается ходить, а состояние висит established, фаерволить собственно нечего...
 
чем вас не устраивает tcpdrop?
по описанию похоже на баг в программе, которая создает и не закрывает затем сокет - обновите или исправьте сами код своего "TCP-сервера". он я так понимаю самописный или у него есть имя?
 
Цитата
wp2 пишет:
TCP-сервер говоришь? :o
первый раз слышу такой термин :-D
Оно и не странно. Ведь tcpserver, inetd и xinetd это страшная тайна бородатых одминов. И киддисов в нее не посвещают!
Страницы: 1
Читают тему