x625802392 发表于 2018-9-1 06:47:33

2种简单的perl socket

  方法一:
  **************************************************************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(){
  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,
  Proto=>'tcp',
  Reuse=>1,
  Timeout=>30,
  );
  #=cut
  while(1){
  my $tmpsocket = $lsocket->accept;
  next unless defined($tmpsocket);
  while(){
  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',
  PeerPort=>'4321',
  Proto=>'tcp',
  );
  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',
  LocalPort=>'4321',
  Listen=>SOMAXCONN,
  Proto=>'tcp',
  Reuse=>1,
  Timeout=>30,
  );
  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');

页: [1]
查看完整版本: 2种简单的perl socket