Передача сообщений TCP/IP
Добавлено: 05 дек 2013, 04:31
Здравствуйте. Просьба о помощи. Подскажите, пожалуйста, как отправить с сервера элементарное сообщение по протоколу tcp с гарантированной доставкой клиенту?
Форум по операционной системе GNU/Linux и свободному программному обеспечению
http://linux-ru.ru:80/
Вообще то, сообщения отправляются от клиента к серверу, но не наоборот.kolesmen писал(а):Подскажите, пожалуйста, как отправить с сервера элементарное сообщение по протоколу tcp с гарантированной доставкой клиенту?
Как бы построена кластерная система на основе CentOS и клиентские машины не работоспособны в обычном режиме, поэтому нужно просто проверить канал связи с сервера с ними с гарантированной доставкой.Olej писал(а):Вообще то, сообщения отправляются от клиента к серверу, но не наоборот.kolesmen писал(а):Подскажите, пожалуйста, как отправить с сервера элементарное сообщение по протоколу tcp с гарантированной доставкой клиенту?
Отправить можно разными способами. Зависит, в первую очередь, от номера порта TCP (протокола, см. в /etc/services).
Для многих портов/протоколов существуют штатные клиенты.
Что значит "не работоспособны в обычном режиме"?kolesmen писал(а):Как бы построена кластерная система на основе CentOS и клиентские машины не работоспособны в обычном режиме, поэтому нужно просто проверить канал связи с сервера с ними с гарантированной доставкой.Olej писал(а):Вообще то, сообщения отправляются от клиента к серверу, но не наоборот.kolesmen писал(а):Подскажите, пожалуйста, как отправить с сервера элементарное сообщение по протоколу tcp с гарантированной доставкой клиенту?
Не сильно понятно что дополнительно даст вам использование протокола "с гарантированной доставкой" (TCP) по сравнению с любым другим способом (UDP, ICMP, ...).kolesmen писал(а):Как бы построена кластерная система на основе CentOS и клиентские машины не работоспособны в обычном режиме, поэтому нужно просто проверить канал связи с сервера с ними с гарантированной доставкой.
А если вам уж совсем хочется проверять канал именно так, то можете попробовать:Olej писал(а):И на удалённых хостах вашего кластера должны быть запущены какие-то серверные программы TCP протокола ... иначе никто вам и ни на что не будет откликаться.
Код: Выделить всё
olej@notebook:/etc/xinetd.d$ which telnet
/usr/bin/telnet
Код: Выделить всё
root@notebook:/etc# apt-get install telnet
...
Обрабатываются триггеры для man-db …
Настраивается пакет telnet (0.17-36) …
update-alternatives: используется /usr/bin/telnet.netkit для предоставления /usr/bin/telnet (telnet) в автоматический режим
Код: Выделить всё
olej@notebook:~$ ps -A | grep netd
2422 ? 00:00:00 xinetd
Код: Выделить всё
# This is the tcp version.
service echo
{
# disable> = yes
disable>= no
...
Код: Выделить всё
olej@notebook:/etc/xinetd.d$ sudo kill -s HUP 2422
Код: Выделить всё
olej@notebook:/etc/xinetd.d$ telnet 127.0.0.1 7
Trying 127.0.0.1...
Connected to 127.0.0.1.
Escape character is '^]'.
1
1
2
2
^]
telnet> quit
olej@notebook:/etc/xinetd.d$
Код: Выделить всё
olej@notebook:/etc/xinetd.d$ telnet 127.0.0.1 13
Trying 127.0.0.1...
Connected to 127.0.0.1.
Escape character is '^]'.
06 DEC 2013 13:06:19 EET
Connection closed by foreign host.