Chinaunix首页 | 论坛 | 博客
  • 博客访问: 109530
  • 博文数量: 25
  • 博客积分: 1094
  • 博客等级: 少尉
  • 技术积分: 284
  • 用 户 组: 普通用户
  • 注册时间: 2009-05-25 16:36
文章分类

全部博文(25)

文章存档

2011年(14)

2010年(11)

分类: LINUX

2011-10-25 10:03:50

  1. 方法一:
  2. **************************************************************client端

  3. #!/usr/bin/perl
  4. use strict;
  5. use IO::Socket;
  6. use Data::Dumper;

  7. my $lsocket=IO::Socket::INET->new(
  8. PeerAddr=>'127.0.0.1',
  9. PeerPort=>'4321',
  10. Proto=>'tcp',
  11. );

  12. print $lsocket "ls /home/ywang/;echo test;ifconfig";
  13. $lsocket->shutdown(1);

  14. while(<$lsocket>){
  15.         print "$_";
  16.         #print Dumper $lsocket;
  17. }

  18. **************************************************************server端
  19. #!/usr/bin/perl
  20. use strict;
  21. use IO::Socket;


  22. my $lsocket=IO::Socket::INET->new(
  23. LocalAddr=>'127.0.0.1',
  24. LocalPort=>'4321',
  25. Listen=>SOMAXCONN,
  26. Proto=>'tcp',
  27. Reuse=>1,
  28. Timeout=>30,
  29. );
  30. #=cut
  31. while(1){
  32.         my $tmpsocket = $lsocket->accept;
  33.         next unless defined($tmpsocket);
  34.         while(<$tmpsocket>){
  35.                 my $cmd_from_client=$_;
  36.                 print "cmd from client is: $cmd_from_client\n";
  37.                 my $rr=`$cmd_from_client` or die "Can not execute the cmd from client\n";
  38.                 print $tmpsocket $rr;
  39.         }
  40.         $tmpsocket->shutdown(1);
  41.         print "end print\n";
  42. }



  43. 方法二
  44. client端
  45. #!/usr/bin/perl
  46. use strict;
  47. use IO::Socket;
  48. use Data::Dumper;

  49. my $lsocket=IO::Socket::INET->new(
  50. PeerAddr=>'127.0.0.1',
  51. PeerPort=>'4321',
  52. Proto=>'tcp',
  53. );

  54. my $byte = $lsocket->send('this is test');
  55. print "Send $byte\n";
  56. my $fromserver;
  57. $lsocket->recv($fromserver,30);
  58. print "get infor from server $fromserver\n";

  59. sleep 2;
  60. $byte=$lsocket->send('test');
  61. $lsocket->recv($fromserver,30);
  62. print "2nd get infor $fromserver\n";


  63. server端
  64. #!/usr/bin/perl
  65. use strict;
  66. use IO::Socket;


  67. my $lsocket=IO::Socket::INET->new(
  68. LocalAddr=>'127.0.0.1',
  69. LocalPort=>'4321',
  70. Listen=>SOMAXCONN,
  71. Proto=>'tcp',
  72. Reuse=>1,
  73. Timeout=>30,
  74. );

  75. my $tmpsocket = $lsocket->accept;
  76. next unless defined($tmpsocket);
  77. my $getcmd;
  78. $tmpsocket->recv($getcmd,12);
  79. print "get your cmd $getcmd\n";
  80. $tmpsocket->send('Server get your cmd');
  81. $tmpsocket->recv($getcmd,10);
  82. print "2nd get your cmd $getcmd\n";
  83. $tmpsocket->send('2nd Server get your cmd');
阅读(1914) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~