加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

perl_IO::Socket模块简单实例

发布时间:2020-12-16 00:15:41 所属栏目:大数据 来源:网络整理
导读:???????? socket的英文原义是“孔”或“插座”。作为4BDS UNIX的进程通信机制,取后一种意思。通常也称作"套接字",用于描述IP地址和端口,是一个通信链的句柄。在Internet上的主机一般运行了多个服务软件,同时提供几种服务。每种服务都打开一个Socket,并


???????? socket的英文原义是“孔”或“插座”。作为4BDS UNIX的进程通信机制,取后一种意思。通常也称作"套接字",用于描述IP地址和端口,是一个通信链的句柄。在Internet上的主机一般运行了多个服务软件,同时提供几种服务。每种服务都打开一个Socket,并绑定到一个端口上,不同的端口对应于不同的服务。Socket正如其英文原意那样,象一个多孔插座。一台主机犹如布满各种插座的房间,每个插座有一个编号,有的插座提供220伏交流电, 有的提供110伏交流电,有的则提供有线电视节目。 客户软件将插头插到不同编号的插座,就可以得到不同的服务。

下面这个是一个小例子:

?服务器端:

#!/usr/bin/perl -w

use strict;
use IO::Socket;

my $server_port = 9999;
my $client;

my $server = IO::Socket::INET->new(LocalPort => $server_port,
??? ??? ??? ??? ??? Type????? => SOCK_STREAM,
??? ??? ??? ??? ??? Reuse???? => 1,
??? ??? ??? ??? ??? Listen??? => 10) or die "Couldn't be a tcp server on port $server_port: $!n";

while ( $client = $server->accept()) {
??? ??? ?print "$client,it is okn";
??? }

close($server);

客户端:

#!/usr/bin/perl -w

use strict;
use IO::Socket;

my $remote_host = '192.168.199.129';
my $remote_port = 9999;

my $socket = IO::Socket::INET->new(PeerAddr? => $remote_host,
?????????????????????????????????? PeerPort? => $remote_port,
?????????????????????????????????? Proto???? => "tcp",
??? ??? ??? ??? ?? Type????? => SOCK_STREAM ) or die "Couldn't connect to $remote_host,$remote_port: $!n";
??? ?print "$socket,t I'm is clientn";


my $answer = <$socket>;

close($socket);

先执行服务器端,然后执行客户端,发现两台机器的9999都开了。

具体深入以后在研究

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读