
本来是测试coro socket server的,结果没搞定,太面了....coro::socket的文档也太简略了.
先看看anyevent的例子吧,这个出自eg中的ae2.pl
我分成了c/s两个
server代码
use warnings;use strict;use Time::HiRes qw(time);use AnyEvent;#这个是ae的perl实现,要比EV慢一点点use AnyEvent::Impl::Perl;use AnyEvent::Socket;use AnyEvent::Handle;my $CYCLES = 500;my $port = 11212;#这两个都可以my $cv = AnyEvent->condvar;#my $cv = AE::cv; tcp_server undef,$port,sub { my ($fh) = @_ or dIE "tcp_server: $!"; my $hdl = new AnyEvent::Handle fh => $fh; $hdl->push_read (line => sub { $hdl->push_write ("$_[1]\n"); undef $hdl; });};#这两个都可以。。。#$cv->wait;$cv->recv;
clIEnt的代码
use warnings;use strict;use Time::HiRes qw(time);use AnyEvent;use AnyEvent::Impl::Perl;use AnyEvent::Socket;use AnyEvent::Handle;my $CYCLES = 500;my $port = 11212;my $t = time;for my $connections (1..$CYCLES) { my $cv = AE::cv; tcp_connect "127.0.0.1",sub { my ($fh) = @_ or dIE "tcp_connect: $!"; my $hdl = new AnyEvent::Handle fh => $fh; $hdl->push_write ("can write $connections\n"); $hdl->push_read (line => sub { my (undef,$line) = @_; print "got line $line.\n"; undef $hdl; $cv->send; }); }; $cv->recv;};$t = time - $t;printf "%.3f sec\n",$t;exit; @H_404_0@ 总结 以上是内存溢出为你收集整理的perl anyevent socket编程(1)-echo client/server全部内容,希望文章能够帮你解决perl anyevent socket编程(1)-echo client/server所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)