Créer un simple serveur de chat avec Netcat
Dans cette étape, vous allez apprendre à créer un serveur de chat plus robuste en utilisant netcat avec des options supplémentaires. Cet exemple montrera comment netcat peut être utilisé pour des connexions plus persistantes.
Tout d'abord, comprenons quelques options supplémentaires de netcat qui seront utiles :
-k
: Cette option permet au serveur de continuer à écouter après la déconnexion d'un client, autorisant ainsi plusieurs connexions au fil du temps.
-v
: Cela active la sortie détaillée (verbose), fournissant plus d'informations sur la connexion.
Créons un serveur de chat qui continue de fonctionner même après la déconnexion d'un client. Dans votre premier terminal :
cd ~/project
nc -l -k -v 7777
Vous devriez voir une sortie indiquant que netcat écoute :
Listening on 0.0.0.0 7777
Ce serveur continuera de fonctionner et d'accepter de nouvelles connexions même après la déconnexion d'un client.
Maintenant, dans votre deuxième terminal, connectez-vous à ce serveur :
cd ~/project
nc localhost 7777
Vous devriez voir un message dans le premier terminal indiquant une nouvelle connexion, similaire à :
Connection from 127.0.0.1 port 7777 [tcp/*] accepted
Vous pouvez maintenant échanger des messages entre les terminaux comme précédemment. Tapez un message dans un terminal et appuyez sur Entrée pour l'envoyer à l'autre terminal.
Pour tester la persistance du serveur, déconnectez le client en appuyant sur Ctrl+C
dans le deuxième terminal. Ensuite, reconnectez-vous en utilisant la même commande :
nc localhost 7777
Vous devriez pouvoir vous reconnecter et continuer à chatter, ce qui démontre que le serveur reste actif entre les connexions des clients.
Pour enregistrer un journal de votre conversation de chat, vous pouvez modifier la commande du serveur pour enregistrer tous les messages entrants dans un fichier. Appuyez sur Ctrl+C
pour arrêter le serveur actuel, puis démarrez un nouveau avec redirection de sortie :
cd ~/project
nc -l -k -v 7777 | tee chat_log.txt
Cette commande utilise l'utilitaire tee
pour afficher les messages entrants à l'écran et les enregistrer dans le fichier chat_log.txt
.
Reconnectez-vous depuis le deuxième terminal et envoyez quelques messages. Après avoir échangé quelques messages, déconnectez le client (appuyez sur Ctrl+C
dans le deuxième terminal), puis vérifiez le fichier de journal de chat :
cat ~/project/chat_log.txt
Vous devriez voir les messages que vous avez envoyés depuis le terminal client.
Pour arrêter le serveur, appuyez sur Ctrl+C
dans le premier terminal.
Cette étape a démontré comment créer un serveur de chat plus robuste en utilisant netcat et comment enregistrer la communication, ce qui peut être utile pour la tenue de registres ou le débogage.