Який найпростіший спосіб протестувати звичайний сервер сокетів


18

У мене є сервер, який прослуховує сокет для вхідних з'єднань і виводить вітальний текст ("Hello world"). Який найпростіший спосіб перевірити це за допомогою звичайних інструментів операційної системи (тут ОС X)? Я б уявив щось на зразок старої гарної програми RS232-терміналу:

mac:~ mike$ terminal 192.168.92.123 1234
Hello world
>

Це порт, а не сокет. Якщо ви на справді хочете перевірити сокет, ви повинні використовувати nc -Uна OS X і Linux, використання socat, наприклад socat - UNIX-CONNECT:/tmp/memcached.sock.
Саймон Вудсайд

Відповіді:


30

Залежить від виду тестів, які ви хочете запустити? Якщо ви хочете перевірити встановлення зв'язку та надсилання деяких даних, я можу придумати два прості тести. Використовуйте netcat(nc), щоб "повторити" деякі дані у віддалений сокет, або використовуйте telnet для інтерактивного підключення до нього.

Якщо ваш сервер слухає на foobar.com, порт 1234, ви можете перевірити це так:

bro@host:~ $ echo "Some data to send" | nc foobar.com 1234

Та сама адреса / порт, що і вище, але зробити сеанс інтерактивним:

bro@host:~ $ telnet foobar.com 1234
Trying foobar.com...
Connected to foobar.com.
Escape character is '^]'.
Type some data to send here

Дякую, я спробував telnet, але він вийшов. Як я дізнався, це була проблема брандмауера.
Майк Л.
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.