如何使用netcat构建简单的聊天?

我目前正在开发一个项目,我使用netcat库实现了一个简单的聊天应用程序。

提示客户端输入端口号和命令

 nc -l -p xxxx 

其中xxxx是客户端输入的端口号。

同样,系统会提示主机输入相同的端口号,并建立连接

 nc  -p xxxx 

但是,这会给出一个空白的聊天体验,因为它不会显示键入消息的人的用户名,例如

 hey hello what's up Nothing 

相反,我希望它是这样的,

 Foo : hey Boo : hello Foo : what's up Boo : Nothing 

我可以使用netcat来实现此function,还是有其他function可以实现此function?

你可以做这样的事情。

假设Alice是服务器。 她输入:

 mawk -W interactive '$0="Alice: "$0' | nc -l -p   

然后Bob连接到该服务器。 他输入:

 mawk -W interactive '$0="Bob: "$0' | nc   

mawk行只是将mawk名称添加到“聊天”中。 我们需要-W interactive来设置stdout的无缓冲写入和stdin的行缓冲读取。


现在爱丽丝键入Hi Bob并看到:

 Hi Bob 

鲍勃看到:

 Alice: Hi Bob 

鲍勃打字好Hi Alice看到:

 Alice: Hi Bob Hi Alice 

爱丽丝看到:

 Hi Bob Bob: Hi Alice