Comment créer un chat simple avec netcat?

26

Je travaille actuellement sur un projet et j'ai implémenté une application de discussion simple en 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 <ip_address> -p xxxx

Cependant, cela donne une expérience de chat vierge car il n'affiche 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?

    
posée Sachin Kamath 25.08.2015 - 08:16
la source

1 réponse

33

Vous pouvez faire quelque chose comme ça.

Supposons que Alice soit 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 celui-ci au "chat". Nous avons besoin de -W interactive pour définir les écritures non tamponnées sur stdout et les lectures mises en mémoire tampon de stdin.

Alice tape maintenant 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
    
réponse donnée chaos 25.08.2015 - 09:11
la source

Lire d'autres questions sur les étiquettes