我想从服务器向客户端连续发送数据,在客户端只想显示接收到的数据,如何向客户端连续发送数据?echo "Hello client!"|nc不起作用。先谢了您可以看到下面的服务器端示例脚本:
#!/bin/bash while true do echo "Sending message to client..." echo "Hello, client!" | nc <ip> <port> done
2cmtqfgy1#
nc命令缺少-l(listen)参数,无法作为服务器运行。试试这个:
nc
-l
#!/bin/bash while true do echo "Sending message to client..." echo "Hello, client!" | nc -l 10000 done
在另一个终端中,以客户端身份连接任意次数,您将看到发送的消息:
$ nc localhost 10000 Hello, client! ^C $ nc localhost 10000 Hello, client! ^C
$ mkfifo fifo_toclient $ tail -f fifo_toclient | nc -l 10000
像以前一样运行客户端命令:
$ nc localhost 10000
在另一个终端的同一目录中,修改脚本,将数据写入管道而不是直接写入nc,然后运行它:
$ cat send_to_client.sh #!/bin/bash while true do echo "Sending message to client..." echo "Hello, client!" > fifo_toclient sleep 1 done $ bash ./send_to_client.sh
并且您应该在客户端的输出中看到这些消息。
1条答案
按热度按时间2cmtqfgy1#
nc
命令缺少-l
(listen)参数,无法作为服务器运行。试试这个:
在另一个终端中,以客户端身份连接任意次数,您将看到发送的消息:
像以前一样运行客户端命令:
在另一个终端的同一目录中,修改脚本,将数据写入管道而不是直接写入
nc
,然后运行它:并且您应该在客户端的输出中看到这些消息。