Quelle est la façon la plus simple de tester un serveur de socket ordinaire


18

J'ai un serveur qui écoute sur une prise pour les connexions entrantes et sort un texte de bienvenue ("Hello world"). Quelle est la façon la plus simple de tester cela avec des outils simples du système d'exploitation (ici OS X)? J'imagine quelque chose comme une bonne vieille application de terminal RS232:

mac:~ mike$ terminal 192.168.92.123 1234
Hello world
>

Il s'agit d'un port, pas d'une prise. Si vous voulez réellement tester une socket, vous devez utiliser nc -Usous OS X et Linux, utilisez socat, par exemple socat - UNIX-CONNECT:/tmp/memcached.sock.
Simon Woodside

Réponses:


30

Cela dépend du type de tests que vous souhaitez exécuter? Si vous voulez tester l'établissement d'une connexion et l'envoi de données, je peux penser à deux tests simples. Utilisez netcat(nc) pour "répercuter" certaines données dans une prise distante, ou utilisez telnet pour vous y connecter de manière interactive.

Si votre serveur écoute sur foobar.com, port 1234, vous pouvez le tester comme ceci:

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

Même adresse / port que ci-dessus, mais rendez la session interactive:

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

Merci, j'ai essayé telnet, mais cela a expiré. Comme je l'ai découvert, c'était un problème de pare-feu.
Mike L.
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.