我将我的脚本输出转发到系统中的本地端口 -
$ python script.py | nc 127.0.0.1 8033
我们假设我的电脑有ip 10.0.0.3
现在,是否有可能其他一些计算机(比如IP 10.0.0.4)可以通过nc或其他任何方式监听此端口。请建议。
答案 0 :(得分:1)
不直接。侦听端口的程序必须位于本地计算机上(在您的示例中表示10.0.0.3)。您可以安排本地计算机上的程序监听并将信息发送到另一台计算机,但只能在主机上建立套接字连接。
答案 1 :(得分:0)
我使用Perl来做到这一点 - 当然可以使用python。
在Perl中,我使用IO::Socket::INET
库。
我使用INET
,IP
和port
实例化Protocol
的新实例,以及comms
的超时时间。然后我使用recv
方法从该套接字读取数据。
它不像nc那么简单;我希望NC做到这一点 - 这会容易得多:)
这是实际Perl的概述
my $data;
my socket;
$socket=IO::Socket::INET->new( PeerAddr => 10.0.0.3, PeerPort-> 8033, Proto => "tcp", Timeout => 1 ) or die "Unable to open port";
$socket->recv($data,bytes_to_read); # Put your chosen read size in stead of bytes_to_read
print $data;