如何使用 Perl 通过 TCP 和 UDP 连接到远程计算机?

发布于 2024-08-12 08:40:44 字数 134 浏览 6 评论 0原文

我有一个在服务器上运行的脚本,我现在希望它向我的电脑发送消息。我想将 TCP 或 UDP 消息发送到某个端口。

执行此操作的最佳方法是什么(教程会很棒)?

是否有一些客户端程序可以在我的 PC 上运行来侦听本地端口的消息?

I have a script that runs on a server and I want it now to send messages to my PC. I want to send TCP or UDP messages to some port.

What is the best way to do this (a tutorial will be great)?

And is there some client program that I can run on my PC that will listen to a local port for the messages?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(5

过气美图社 2024-08-19 08:40:45

客户端可以使用套接字发送 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);

这只是冰山一角,但希望这将帮助您入门。

A client can send TCP and UDP messages using a socket, for example:

use IO::Socket;
my $socket = IO::Socket::INET->new(PeerAddr => 'theserver',
    PeerPort => '1234', Proto => 'tcp', Type => SOCK_STREAM);
print $socket "Hello server!";
close($socket);

A server has to listen on a port, and accept messages that arrive on it:

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);

This is just the tip of the iceberg, but hopefully this will help to get you started.

甜心 2024-08-19 08:40:45

首先阅读 perlipc 文档 - 它包含简单服务器和客户端的示例,以及大量非常重要的插件(例如:如何正确地守护进程)。

Start with reading of perlipc documentation - it contains examples of simple servers and clients, with a lot of very important addons (like: how to properly daemonize).

脱离于你 2024-08-19 08:40:45

虽然有点过时,但您想要找到一份 使用 Perl 进行网络编程 林肯·斯坦因。另外,查看名称中带有 Socket 的 Perl 模块。

Although a bit dated, you want want to find a copy of Network Programming with Perl by Lincoln Stein. Also, look at the Perl modules with Socket in their names.

生死何惧 2024-08-19 08:40:45

如果您在 Windows 上,则可以使用 Net Send,在 CMD 中编写“Net Help Send”以获取更多信息,我不知道 perl,但启动 CMD Net Send Computer Message

确保网络发送服务正在运行... google 获取更多信息信息。

You could use Net Send if your on windows, Write "Net Help Send" for more info in CMD i don't know perl but start CMD Net Send Computer Message

Make sure thet the net send service is running... google it for more info.

谎言月老 2024-08-19 08:40:45

有很多方法可以做到这一点。最简单的方法之一是让您的程序通过电子邮件发送您的电子邮件地址。在 Perl 中,您可以使用,例如 Email::Send。其他方式包括套接字,或者让您的程序访问 PC 上的 Web 服务器。这取决于您想使用什么设施。我通常使用 ssh 命令通过网络访问其他计算机。

There are a lot of ways to do it. One of the easiest is to have your program email your email address. In Perl, you can use, e.g. Email::Send. Other ways include sockets, or having your program access a web server on your PC. It depends what facilities you want to use. I usually use a ssh command to access other computers across a network.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文