perl_IO::Socket模块简单实例

perl_IO::Socket模块简单实例,第1张

概述         socket的英文原义是“孔”或“插座”。作为4BDS UNIX的进程通信机制,取后一种意思。通常也称作"套接字",用于描述IP地址和端口,是一个通信链的句柄。在Internet上的主机一般运行了多个服务软件,同时提供几种服务。每种服务都打开一个Socket,并绑定到一个端口上,不同的端口对应于不同的服务。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 ok\n";
    }

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 clIEnt\n";


my $answer = <$socket>;

close($socket);

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

具体深入以后在研究

总结

以上是内存溢出为你收集整理的perl_IO::Socket模块简单实例全部内容,希望文章能够帮你解决perl_IO::Socket模块简单实例所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/1282036.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-09
下一篇 2022-06-09

发表评论

登录后才能评论

评论列表(0条)

保存