Форум программистов, компьютерный форум, киберфорум
C/С++ под Linux
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.71/7: Рейтинг темы: голосов - 7, средняя оценка - 4.71
69 / 62 / 13
Регистрация: 10.01.2012
Сообщений: 508

Пропадает сокет при длительном простое без обращения к нему

20.06.2018, 07:34. Показов 1486. Ответов 2
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Hi!
Используется два серверных вебсокета, для двух Ciшных прог на портах 5555 и 9090 под управлением Debian 8.
Перед сервером стоит маршрутизатор с пробросом портов, и наружным статическим белым IP.
На сервере написана программуля (условно ПИНГАТОР) которая каждую минуту подключается к вебсокетам по адресу 85.175.ХХХ.ХХХ:5555 и 85.175.ХХХ.ХХХ:9090 с целью контроля работы и при необходимости рестарта вебсокета.

Проблема:
Если нет обращения к серверу снаружи (в течении 6 -12 часов), то сокеты хаотично перестают быть доступными (могут упасть оба, а может только один из них), при этом ПИНГАТОР нормально коннектиться к 85.175.ХХХ.ХХХ:5555 и 85.175.ХХХ.ХХХ:9090. Во внутренней сети порты доступны, сокеты отвечают как 85.175.ХХХ.ХХХ:5555 и 85.175.ХХХ.ХХХ:9090, так и по внутренним IP типа 193.168.1.ХХ.

То есть ПИНГАТОР знает что ничего не упало и все работает, а потому проги не перезапускает, но по факту это не так — сокеты снаружи не видны.

При ручном рестарте программуль сокеты снаружи становятся видимы.


В чем причина такого поведения и как с этим бороться?
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
20.06.2018, 07:34
Ответы с готовыми решениями:

Не гаснет экран при длительном простое
Здравствуйте, коллеги! Столкнулся с проблемой,которую пока решить не могу. При длительном простое компа (более 30 мин) не гаснет...

Ошибка при одновременном пересоздании представления и обращения к нему
Для отображения статистики я составил команду из 3х запросов: 1) удаления представления reports, если оно существует 2) создание...

Создание метода и обращения к нему
Прошу простить - я совершенный профан в программировании. В общем, дело такое:я застрял на создании методов. Я так понимаю, программа по...

2
Псевдослучайный
1946 / 1146 / 98
Регистрация: 13.09.2011
Сообщений: 3,215
20.06.2018, 10:47
Нужно больше диагностики, чтобы понять, что к чему. Посмотрите, приходят ли вообще на хост запросы на соединение.
0
69 / 62 / 13
Регистрация: 10.01.2012
Сообщений: 508
20.06.2018, 13:16  [ТС]
Я ставил прогу на разные серверы (в РФ, Украине, РБ), сделал так что сокет при обращении браузером на порт присылает месагу "Forbidden". Везде схема одинакова Роутер->Проброс->Сервер, везде картина одинакова.

Кстати да, чет я не подумал пробить на вшивость используя tcpdump.

Добавлено через 1 час 56 минут
Проходит
tcpdump -nnvvS src 31.41.48.211 and dst port 9090
Code
1
2
12:13:39.858656 IP (tos 0x0, ttl 58, id 29187, offset 0, flags [DF], proto TCP (6), length 60)
    31.41.48.211.45060 > 172.14.2.100.9090: Flags [S], cksum 0x07fd (correct), seq 2011745046, win 29200, options [mss 1360,sackOK,TS val 5093653 ecr 0,nop,wscale 7], length 0
Добавлено через 13 минут
Code
1
2
3
4
5
6
7
8
9
netstat -ntulp
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name    
tcp        0      0 0.0.0.0:5355            0.0.0.0:*               LISTEN      440/systemd-resolve 
tcp        0      0 0.0.0.0:2000            0.0.0.0:*               LISTEN      699/asterisk        
tcp        0      0 0.0.0.0:80              0.0.0.0:*               LISTEN      518/nginx: master p 
tcp        0      0 0.0.0.0:5555            0.0.0.0:*               LISTEN      775/atda-bot        
tcp        0      0 0.0.0.0:1212            0.0.0.0:*               LISTEN      435/sshd            
tcp      129      0 0.0.0.0:9090            0.0.0.0:*               LISTEN      777/atda-loger-upda
Добавлено через 11 минут
Code
1
2
3
4
5
6
7
8
9
10
11
12
13
14
nmap localhost
 
Starting Nmap 7.40 ( https://nmap.org ) at 2018-06-20 13:13 EEST
Nmap scan report for localhost (127.0.0.1)
Host is up (0.000037s latency).
Other addresses for localhost (not scanned): ::1
Not shown: 994 closed ports
PORT     STATE SERVICE
80/tcp   open  http
81/tcp   open  hosts2-ns
2000/tcp open  cisco-sccp
5555/tcp open  freeciv
9000/tcp open  cslistener
9090/tcp open  zeus-admin
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
20.06.2018, 13:16
Помогаю со студенческими работами здесь

Заполнение поля класса - после обращения к нему
Предположим у меня есть класс: public class Data { // -- public string PageUri {get; set; } public string PageContent =>...

Внешний HDD отключается сразу после обращения к нему
Ребята, помогите! Есть внешний USB-HDD WesternDigital Elements SE 500gb (родители на новый год подарили:)). Мне нужно чтобы он был включён...

contextswitchdeadlock при длительном подключении
Программа парсит xml и заносит данные в базу MySql. Обрабатываю один файл xml, затем ничего не делаю минут 5, затем обрабатываю 2й xml....

Вылет программы при длительном функционировании
Доброго времени суток, жители форума! :friends: ДАНО: Программа диспетчеризации одного устройства, с которым имеется связь по...

Звук отключается при длительном прослушивании
Во время длительного воспроизведения аудио (на вскидку >2 мин) пропадает звук. После этого даже если запустить другое аудио в другой...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Новые блоги и статьи
Отправка уведомления на почту при изменении наименования справочника
Maks 24.03.2026
Программная отправка письма электронной почты на примере изменения наименования справочника "Склады" в конфигурации БП3. Перед реализацией необходимо выполнить настройку системной учетной записи. . .
модель ЗдравоСохранения 5. Меньше увольнений- больше дохода!
anaschu 24.03.2026
Теперь система здравосохранения уменьшает количество увольнений. 9TO2GP2bpX4 a42b81fb172ffc12ca589c7898261ccb/ https:/ / rutube. ru/ video/ a42b81fb172ffc12ca589c7898261ccb/ Слева синяя линия -. . .
Midnight Chicago Blues
kumehtar 24.03.2026
Такой Midnight Chicago Blues, знаешь?. . Когда вечерние улицы становятся ночными, а ты не можешь уснуть. Ты идёшь в любимый старый бар, и бармен наливает тебе виски. Ты смотришь на пролетающие. . .
Контроль уникальности заводского номера - вариант №2
Maks 24.03.2026
В отличие от предыдущего варианта добавлено прерывание циклов, также добавлены новые переменные для сохранения контекста ошибки перед прерыванием цикла: Процедура ПередЗаписью(Отказ, РежимЗаписи,. . .
SDL3 для Desktop (MinGW): Вывод текста со шрифтом TTF с помощью библиотеки SDL3_ttf на Си и C++
8Observer8 24.03.2026
Содержание блога Финальные проекты на Си и на C++: finish-text-sdl3-c. zip finish-text-sdl3-cpp. zip
Жизнь в неопределённости
kumehtar 23.03.2026
Жизнь — это постоянное существование в неопределённости. Например, даже если у тебя есть список дел, невозможно дойти до точки, где всё окончательно завершено и больше ничего не осталось. В принципе,. . .
Модель здравоСохранения: работники работают быстрее после её введения.
anaschu 23.03.2026
geJalZw1fLo Корпорация до введения программа здравоохранения имела много невыполненных работниками заданий, после введения программы количество заданий выросло. Но на выплатах по больничным это. . .
Контроль уникальности заводского номера - вариант №1
Maks 23.03.2026
Алгоритм контроля уникальности заводского (или серийного) номера на примере документа выдачи шин для спецтехники с табличной частью в конфигурации КА2. Данные берутся из регистра сведений, по. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru