Linux
在 Linux 中通過 LAN 聊天
我正在嘗試與使用 Linux 伺服器的兩個使用者建立 LAN 聊天,但他們都不是 root。
我試過這兩種方法:
write account_name
在兩台電腦上和:
nc -l port_number
在第一台電腦nc IP_adress port_number
上 在第二台電腦上但問題是每當我寫東西時,另一邊的人點擊進入它也會打破我的行,例如:
我正在輸入:“這只是一個
enter
簡單的文本”。這enter
來自另一個人,打破了我的界限。有沒有辦法解決這個問題?或者我可以設置這個聊天的另一種方式?
看看
talk
和talkd
。有關詳細資訊,請參閱https://wiki.archlinux.org/index.php/Talkd_and_the_talk_command>和<http://linux.die.net/man/1/talk。
也許使用 tmux 和 netcat:
mkfifo cf ; tmux new "cat cf" \; split -h "nc -l 1234 > cf" ; rm cf # server mkfifo cf ; tmux new "cat cf" \; split -h "nc $IP 1234 > cf" ; rm cf # client
…或基於相同工具的完整版:
#!/usr/bin/env bash # lanchat script, server: "./lanchat", client: "./lanchat serverIpAddr" port=1234 ; [ -z "$1" ] && target='-l' || target="$1" LOG=$(mktemp) ; trap 'rm "$LOG"' EXIT INT TERM HUP tmux new "watch -n1 cat $LOG" \; split -l 1 \ " while read ME; do echo \"> me: \$ME\" >> $LOG ; echo \"\$ME\" ; done \ | nc $target $port \ | while read HE; do echo \"< he: \$HE\" >> $LOG ; done"