Je travaille actuellement sur un projet et j'ai implémenté une application de discussion simple utilisant les bibliothèques netcat
.
Le client est invité à entrer le numéro de port et la commande
nc -l -p xxxx
où xxxx
est le numéro de port saisi par le client.
De même, l’hôte reçoit le même numéro de port et une connexion est établie à l’aide de
nc <ip_address> -p xxxx
Cependant, cela donne une expérience de chat vierge car il ne montre pas le nom d'utilisateur de la personne qui tape les messages, quelque chose comme
hey
hello
what's up
Nothing
Au lieu de cela, je veux que ce soit quelque chose comme,
Foo : hey
Boo : hello
Foo : what's up
Boo : Nothing
Puis-je utiliser netcat
pour réaliser cette fonctionnalité ou y a-t-il autre chose qui le fasse?
Vous pouvez faire quelque chose comme ça.
Supposons que Alice est le serveur. Elle tape:
mawk -W interactive '$0="Alice: "$0' | nc -l -p <port_number> <ip_of_alice>
Ensuite, Bob se connecte à ce serveur. Il tape:
mawk -W interactive '$0="Bob: "$0' | nc <ip_of_alice> <port_number>
Les lignes mawk
n'ajoutent que le nom de la personne précédant l'appel à la "discussion". Nous avons besoin de -W interactive
pour définir les écritures non mises en mémoire tampon sur stdout et les lectures en mémoire tampon de lignes provenant de stdin.
Maintenant, Alice tape Hi Bob
et voit:
Hi Bob
Bob voit:
Alice: Hi Bob
Bob tape Hi Alice
et voit:
Alice: Hi Bob
Hi Alice
Alice voit:
Hi Bob
Bob: Hi Alice