Linux

在 Linux 中通過 LAN 聊天

  • September 26, 2016

我正在嘗試與使用 Linux 伺服器的兩個使用者建立 LAN 聊天,但他們都不是 root。

我試過這兩種方法:

write account_name在兩台電腦上

和:

nc -l port_number 在第一台電腦 nc IP_adress port_number 上 在第二台電腦上

但問題是每當我寫東西時,另一邊的人點擊進入它也會打破我的行,例如:

我正在輸入:“這只是一個enter簡單的文本”。這enter來自另一個人,打破了我的界限。

有沒有辦法解決這個問題?或者我可以設置這個聊天的另一種方式?

看看talktalkd

有關詳細資訊,請參閱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 &gt; cf" ; rm cf   # server
mkfifo cf ; tmux new "cat cf" \; split -h "nc $IP 1234 &gt; 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 \"&gt; me: \$ME\" &gt;&gt; $LOG ; echo \"\$ME\" ; done \
  | nc $target $port \
  | while read HE; do echo \"&lt; he: \$HE\" &gt;&gt; $LOG ; done"

引用自:https://unix.stackexchange.com/questions/237861