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 entré 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 -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 qu’Alice soit le serveur. Elle tape:
mawk -W interactive '$0="Alice: "$0' | nc -l -p
Ensuite, Bob se connecte à ce serveur. Il tape:
mawk -W interactive '$0="Bob: "$0' | nc
Les lignes de mawk
ajoutent simplement le nom de la personne à l’avance au “chat”. 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