gpt4 book ai didi

perl - 为什么我的 Perl 脚本在尝试与服务器通信时挂起?

转载 作者:可可西里 更新时间:2023-11-01 02:33:27 25 4
gpt4 key购买 nike

简介

我正在阅读 Stein 的“Network programming with Perl”一书。这是本书中的第二个 Perl 脚本,其中脚本尝试使用正确的协议(protocol)与白天服务器进行通信,以从服务器获取日期和时间作为响应。

从远程服务器读取第一行

#!/usr/bin/perl 
# file: lgetr.pl

use IO::Socket;


my $server = shift;
my $fh = IO::Socket::INET->new($server);
my $line = <$fh>;
printf $line;

运行脚本(已使用 chmod 使其可执行)

本书然后使用此服务器作为连接参数。

wuarchive.wust1.edu:daytime

./lgetr.pl wuarchive.wust1.edu:daytime

问题

执行时,程序只是挂起。我猜程序正在等待服务器的响应。这是否意味着服务器不再存在?还是打错了?我将如何让它工作,或者我最好的选择是创建我自己的白天服务器? (我在 C 中对此有一些经验)

最佳答案

尝试这里提到的一些服务器:http://tf.nist.gov/tf-cgi/servers.cgi (“白天”在 Google 上的首次点击)。

此外,不要使用 printf其中 print就足够了,尤其是在没有格式字符串的情况下。

此外,您似乎需要第二行,而不是第一行。

您可以使用循环来打印所有行:

print while <$fh>;

适用于我,例如time.maconbibb.us:daytime.

关于perl - 为什么我的 Perl 脚本在尝试与服务器通信时挂起?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46012285/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com