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

2种简单的perl socket

发布时间:2020-12-16 00:38:58 所属栏目:大数据 来源:网络整理
导读:方法一: **************************************************************client端 #!/usr/bin/perl use strict; use IO::Socket; use Data::Dumper; my $lsocket=IO::Socket::INET-new( PeerAddr='127.0.0.1',PeerPort='4321',Proto='tcp',); print $lsoc

方法一: **************************************************************client端 #!/usr/bin/perl use strict; use IO::Socket; use Data::Dumper; my $lsocket=IO::Socket::INET->new( PeerAddr=>'127.0.0.1',PeerPort=>'4321',Proto=>'tcp',); print $lsocket "ls /home/ywang/;echo test;ifconfig"; $lsocket->shutdown(1); while(<$lsocket>){ ??????? print "$_"; ??????? #print Dumper $lsocket; } **************************************************************server端 #!/usr/bin/perl use strict; use IO::Socket; my $lsocket=IO::Socket::INET->new( LocalAddr=>'127.0.0.1',LocalPort=>'4321',Listen=>SOMAXCONN,Reuse=>1,Timeout=>30,); #=cut while(1){ ??????? my $tmpsocket = $lsocket->accept; ??????? next unless defined($tmpsocket); ??????? while(<$tmpsocket>){ ??????????????? my $cmd_from_client=$_; ??????????????? print "cmd from client is: $cmd_from_clientn"; ??????????????? my $rr=`$cmd_from_client` or die "Can not execute the cmd from clientn"; ??????????????? print $tmpsocket $rr; ??????? } ??????? $tmpsocket->shutdown(1); ??????? print "end printn"; } 方法二 client端 #!/usr/bin/perl use strict; use IO::Socket; use Data::Dumper; my $lsocket=IO::Socket::INET->new( PeerAddr=>'127.0.0.1',); my $byte = $lsocket->send('this is test'); print "Send $byten"; my $fromserver; $lsocket->recv($fromserver,30); print "get infor from server $fromservern"; sleep 2; $byte=$lsocket->send('test'); $lsocket->recv($fromserver,30); print "2nd get infor $fromservern"; server端 #!/usr/bin/perl use strict; use IO::Socket; my $lsocket=IO::Socket::INET->new( LocalAddr=>'127.0.0.1',); my $tmpsocket = $lsocket->accept; next unless defined($tmpsocket); my $getcmd; $tmpsocket->recv($getcmd,12); print "get your cmd $getcmdn"; $tmpsocket->send('Server get your cmd'); $tmpsocket->recv($getcmd,10); print "2nd get your cmd $getcmdn"; $tmpsocket->send('2nd Server get your cmd');

(编辑:李大同)

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

    推荐文章
      热点阅读