Atualmente, estou trabalhando em um projeto e implementei um aplicativo de bate-papo simples usando as netcat
bibliotecas.
O cliente é solicitado a inserir o número da porta e o comando
nc -l -p xxxx
onde xxxx
é o número da porta digitada pelo cliente.
Da mesma forma, o host solicita o mesmo número de porta e uma conexão é estabelecida usando
nc <ip_address> -p xxxx
No entanto, isso proporciona uma experiência de bate-papo em branco, pois não mostra o nome de usuário da pessoa digitando as mensagens, algo como
hey
hello
what's up
Nothing
Em vez disso, quero que seja algo como,
Foo : hey
Boo : hello
Foo : what's up
Boo : Nothing
Posso usar netcat
para obter essa funcionalidade ou há mais alguma coisa que faça isso?
command-line
networking
c++
netcat
Sachin Kamath
fonte
fonte
nc
não sabeusername
e não pode enviá-lo. Só pode fazer é digitar a mensagem no formatoBob: hello
.Respostas:
Você pode fazer algo assim.
Suponha que Alice seja o servidor. Ela digita:
Então Bob se conecta a esse servidor. Ele digita:
As
mawk
linhas apenas adicionam o nome da pessoa ao "chat". Precisamos-W interactive
definir gravações sem buffer para stdout e leituras em buffer de linha de stdin.Agora Alice digita
Hi Bob
e vê:Bob vê:
Bob digita
Hi Alice
e vê:Alice vê:
fonte
awk
, nãomawk
.mawk
opção, nãogawk
. Você tentou usandomawk
explicitamente?