⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 msgdemo.pl

📁 perl learn perl by examples
💻 PL
字号:

# 
# testmsg.pl - Used for testing the Msg.pm module
#    Invoke as testmsg.pl {-client|-server} 
#
use Msg;
use strict;

my $i = 0;
sub rcvd_msg_from_server {
    my ($conn, $msg, $err) = @_;
    if (defined $msg) {
        die "Strange... shouldn't really be coming here\n";
    }
}

my $incoming_msg_count=0;

sub rcvd_msg_from_client {
    my ($conn, $msg, $err) = @_;
    if (defined $msg) {
        ++$i;
        my $len = length ($msg);
        print "$i ($len)\n";
    }
}

sub login_proc {
    # Unconditionally accept
    \&rcvd_msg_from_client;
}

my $host = 'localhost';
my $port = 8080;
my $prog;
foreach $prog (@ARGV) {
   if ($prog eq '-server') {
       Msg->new_server($host, $port, \&login_proc);
       print "Server created. Waiting for events";
       Msg->event_loop();
   } elsif ($prog eq '-client') {
       my $conn = Msg->connect($host, $port,
                               \&rcvd_msg_from_server);
                               
       die "Client could not connect to $host:$port\n" unless $conn;
       print "Connection successful.\n";
       my $i;
       my $msg = " " x 10000;
       for ($i = 0; $i < 100; $i++) {
           print "Sending msg $i\n";
           $conn->send_now($msg);
       }
       $conn->disconnect();
       Msg->event_loop();
   }
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -