Вход на сайт

Навигация

Сейчас на сайте

Пользователей онлайн: 0.

Сбор новостей

Подписка на Сбор новостей

Вы здесь

[РЕШЕНО] Не работает сервис echo

Начал изучать программирование сокетов и в некоторых примерах программ стоит условие использовать сервис echo по UDP, тот, что на 7-ом порту. Установил xinetd, в /etc/xinetd.d/echo-dgram и echo-stream поменял disable = yes на disable = no, запустил xinetd(/etc/init.d/xinetd start). netstat -tulpn выдает:

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:7               0.0.0.0:*               LISTEN      10238/xinetd        
tcp        0      0 127.0.0.1:6600          0.0.0.0:*               LISTEN      3765/mpd            
tcp        0      0 0.0.0.0:21              0.0.0.0:*               LISTEN      3754/pure-ftpd (SER 
tcp6       0      0 ::1:6600                :::*                    LISTEN      3765/mpd            
tcp6       0      0 :::21                   :::*                    LISTEN      3754/pure-ftpd (SER 
udp        0      0 0.0.0.0:7               0.0.0.0:*                           10238/xinetd

Программа UDP-клиент в конце страницы здесь - Пример программы UDP-клиента
Запускаю программу так:

./client 192.168.1.2

Вывод ifconfig:

enp3s0: flags=4163  mtu 1500
inet 192.168.1.2 netmask 255.255.255.0 broadcast 192.168.1.255
inet6 fe80::ca60:ff:fec3:ea2 prefixlen 64 scopeid 0x20
ether c8:60:00:c3:0e:a2 txqueuelen 1000 (Ethernet)
RX packets 117197 bytes 125208356 (119.4 MiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 100198 bytes 12859411 (12.2 MiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0

...

В итоге, программа ожидает возврата из recvfrom вечно.

При этом, когда я запускаю "свой echo сервис" на порту 51000, вышеописанный echo-клиент, с изменением порта, конечно, работает нормально.
Подскажите, что я еще забыл сделать, чтобы работал стандартный echo-сервис?

UPD: с TCP сокетом echo другая проблема - при вызове connect(пример здесь) выкидывает с такой ошибкой

[ECONNREFUSED]
    The target address was not listening for connections or refused the connection request. (POSIX)

Но если в UDP echo пометка LISTEN не стоит в выводе netstat, то здесь присутствует:

tcp        0      0 0.0.0.0:7               0.0.0.0:*               LISTEN      10238/xinetd 

xinetd сам по себе ничего не обрабатывает - это просто wrapper, он перенаправляет запросы обслуживающий программе. Т.е. проверьте, конфигурацию xinetd и программы, которые он вызывает.
Так же проверьте

iptables -nvL

Вопрос вижу.
Тема помечена решённой.
А собственно решение где?

:wq
--
Live free or die