
方法一: **************************************************************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_clIEnt\n"; my $rr=`$cmd_from_clIEnt` or dIE "Can not execute the cmd from clIEnt\n"; print $tmpsocket $rr; } $tmpsocket->shutdown(1); print "end print\n"; } 方法二 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 $byte\n"; my $fromserver; $lsocket->recv($fromserver,30); print "get infor from server $fromserver\n"; sleep 2; $byte=$lsocket->send('test'); $lsocket->recv($fromserver,30); print "2nd get infor $fromserver\n"; 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 $getcmd\n"; $tmpsocket->send('Server get your cmd'); $tmpsocket->recv($getcmd,10); print "2nd get your cmd $getcmd\n"; $tmpsocket->send('2nd Server get your cmd');
总结以上是内存溢出为你收集整理的2种简单的perl socket全部内容,希望文章能够帮你解决2种简单的perl socket所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)