如何使用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