【发布时间】:2009-11-21 08:36:12
【问题描述】:
我有一个在服务器上运行的脚本,我现在希望它向我的 PC 发送消息。我想向某个端口发送 TCP 或 UDP 消息。
最好的方法是什么(教程会很棒)?
是否有一些我可以在我的 PC 上运行的客户端程序来侦听本地端口的消息?
【问题讨论】:
标签: perl networking ipc
我有一个在服务器上运行的脚本,我现在希望它向我的 PC 发送消息。我想向某个端口发送 TCP 或 UDP 消息。
最好的方法是什么(教程会很棒)?
是否有一些我可以在我的 PC 上运行的客户端程序来侦听本地端口的消息?
【问题讨论】:
标签: perl networking ipc
客户端可以使用套接字发送 TCP 和 UDP 消息,例如:
use IO::Socket;
my $socket = IO::Socket::INET->new(PeerAddr => 'theserver',
PeerPort => '1234', Proto => 'tcp', Type => SOCK_STREAM);
print $socket "Hello server!";
close($socket);
服务器必须监听一个端口,并接受到达它的消息:
my $socket = new IO::Socket::INET (LocalHost => 'hostname',
LocalPort => '1234', Proto => 'tcp', Listen => 1, Reuse => 1);
my $incoming = $sock->accept();
while(<$incoming>) {
print $_;
}
close($incoming);
这只是冰山一角,但希望这将有助于您入门。
【讨论】:
nc -l -p 1234 catonmat.net/blog/unix-utilities-netcat
从阅读perlipc 文档开始 - 它包含简单服务器和客户端的示例,以及许多非常重要的插件(例如:如何正确地守护进程)。
【讨论】:
虽然有点过时,但您想找到林肯斯坦因的Network Programming with Perl 的副本。另外,请查看名称中带有 Socket 的 Perl 模块。
【讨论】:
如果你在 Windows 上,你可以使用 Net Send,在 CMD 中写“Net Help Send”以获取更多信息,我不知道 perl,但启动 CMD Net Send Computer Message
确保网络发送服务正在运行...谷歌它以获取更多信息。
【讨论】:
有很多方法可以做到这一点。最简单的方法之一是让您的程序通过电子邮件发送您的电子邮件地址。在 Perl 中,您可以使用,例如Email::Send。其他方法包括套接字,或让您的程序访问 PC 上的 Web 服务器。这取决于你想使用什么设施。我通常使用ssh 命令通过网络访问其他计算机。
【讨论】: