Je travaille actuellement sur un projet et j'ai implémenté une application de chat simple en utilisant les netcat
bibliothèques.
Le client est invité à saisir 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 est invité à saisir 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 vide 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 obtenir cette fonctionnalité ou y a-t-il autre chose qui le fait?
command-line
networking
c++
netcat
Sachin Kamath
la source
la source
nc
ne sait pasusername
et ne peut pas l'envoyer. Seul peut faire est de taper le message au formatBob: hello
.Réponses:
Vous pouvez faire quelque chose comme ça.
Supposons qu'Alice soit le serveur. Elle tape:
Ensuite, Bob se connecte à ce serveur. Il tape:
Les
mawk
lignes ajoutent simplement le nom précédant de la personne au "chat". Nous devons-W interactive
définir des écritures non tamponnées sur stdout et des lectures tamponnées sur ligne depuis stdin.Maintenant, Alice tape
Hi Bob
et voit:Bob voit:
Bob tape
Hi Alice
et voit:Alice voit:
la source
awk
, nonmawk
.mawk
option, nongawk
. L'avez-vous essayé en utilisantmawk
explicitement?