![이 간단한 Perl 클라이언트가 작동하지 않는 이유는 무엇입니까?](https://linux55.com/image/24211/%EC%9D%B4%20%EA%B0%84%EB%8B%A8%ED%95%9C%20Perl%20%ED%81%B4%EB%9D%BC%EC%9D%B4%EC%96%B8%ED%8A%B8%EA%B0%80%20%EC%9E%91%EB%8F%99%ED%95%98%EC%A7%80%20%EC%95%8A%EB%8A%94%20%EC%9D%B4%EC%9C%A0%EB%8A%94%20%EB%AC%B4%EC%97%87%EC%9E%85%EB%8B%88%EA%B9%8C%3F.png)
소켓과 함께 IPC를 사용하고 있습니다.
나는 왜 이 샘플 스크립트를 얻을 수 없는지 이해하려고 노력하고 있습니다.perldoc perlipc
내 Ubuntu 설정에서 실행 중:
#!/usr/bin/perl -w
use IO::Socket;
$remote = IO::Socket::INET->new(
Proto => "tcp",
PeerAddr => "localhost",
PeerPort => "daytime(13)",
)
|| die "can't connect to daytime service on localhost";
while (<$remote>) { print }
스크립트는 die
TCP 클라이언트를 설정할 수 없기 때문에 발생합니다.
실행하면 $ less /etc/services
내가 daytime(13)
정의했음을 알 수 있습니다. 여기서 무엇이 잘못될 수 있나요?
답변1
주간 서비스를 제공하는 서비스를 운영하고 있나요? ~에서위키피디아:
UNIX 계열 운영 체제에서 데이 서버는 일반적으로 inetd(또는 xinetd) 데몬에 내장되어 있습니다. 이 서비스는 일반적으로 기본적으로 활성화되어 있지 않습니다. /etc/inetd.conf 파일에 다음 줄을 추가하고 inetd에 해당 구성을 다시 로드하도록 지시하여 활성화할 수 있습니다.
daytime stream tcp nowait root internal
daytime dgram udp wait root internal
따라서 inetd.conf에서 주간 서비스를 활성화해야 합니다.