Comment construire un simple chat en utilisant netcat?

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 

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