Chinaunix首页 | 论坛 | 博客
  • 博客访问: 517292
  • 博文数量: 240
  • 博客积分: 791
  • 博客等级: 军士长
  • 技术积分: 1694
  • 用 户 组: 普通用户
  • 注册时间: 2011-08-23 18:21
文章分类

全部博文(240)

文章存档

2013年(21)

2012年(219)

我的朋友

分类:

2012-11-13 09:36:15

用Perl写的一个C/S模式的:
client端向本机端口消息发送消息,
server端监听本机端口,接收并响应client发送的消息。
也可以说是两进程间的socket通信。

实现很简单,但能稳定而良好地工作,
稍作改造,加些功能后,能用在很多类似需要C/S工作模式的场合。

server端代码:

  1. #! /usr/bin/perl

  2. ###############################################################################
  3. # \File
  4. # tcp_server.pl
  5. # \Descript
  6. # listen to local port
  7. ###############################################################################
  8. use IO::Socket::INET;

  9. # 5277为监听端口
  10. my $sock_listen = IO::Socket::INET->new(
  11.       LocalHost => '127.0.0.1',
  12.       LocalPort => 5277,
  13.       Proto => 'tcp',
  14.       Listen => 3,
  15.       Reuse => 1,)
  16. or die "no socket: $!";
 while(1)
 {
  1.   my $sock_recv = $sock_listen->accept();
  1.   while ($data = <$sock_recv>)
  2.   {
  3.     print $data,"\n";
  4.   }

  5.   close $sock_listen;
  6. }
client端代码:

  1. #! /usr/bin/perl

  2. ###############################################################################
  3. # \File
  4. # tcp_client.pl
  5. # \Descript
  6. # send message to server
  7. ###############################################################################

  8. use IO::Socket::INET;

  9. my $sock_connect = IO::Socket::INET->new('127.0.0.1:5277');
  10. die "Socket could not be created. Because$!\n" unless $sock_connect;

  11. my $msg = "Hello, server.";
  12. $sock_connect->print($msg);
  13. close $sock_connect;
测试通过;
阅读(941) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~