Já fiz uma implementação assim "from scratch", e *não recomendo*, a menos que seja para fins educacionais. Diferentes plataformas usam técnicas diferentes para colocar sockets em modo non-blocking; e o método de polling também é bastante atrelado ao sistema operacional... O objetivo do AnyEvent é justamente fazer um wrapper genérico e independente de OS/distribuição/versão do Perl. Veja como é um cliente de HTTP: http://search.cpan.org/~mlehmann/AnyEvent-5.34/lib/AnyEvent/Intro.pod#Implementing_simple_HTTP_and_HTTPS_GET_requests_with_AnyEvent::Handle <http://search.cpan.org/~mlehmann/AnyEvent-5.34/lib/AnyEvent/Intro.pod#Implementing_simple_HTTP_and_HTTPS_GET_requests_with_AnyEvent::Handle>E esse é um servidor HTTP: https://gist.github.com/781246 (André, estava te devendo esse, malz!!!)
ABS() 2011/6/1 Rafael <[email protected]> > Cara, valeu! > > Baixei o Coro, e estou dando uma estuda. > Sobre closure, vou fazer tudo na "unha" mesmo, na vdd nao tem dificuldade > nenhuma. > > É que vou criar minha propria lib de eventos. > Algo como: > > $server = new TCPServer({ > ... > }); > > $server->on('receive', sub { > ... > }); > > $server->on('send', sub { > ... > }); > > $server->on('accept', sub { > ... > }); > > $server->listen(); > > Em 31/05/2011 23:18, Stanislaw Pusep escreveu: > > Uhm... AnyEvent? Esse tem muita coisa interessante rolando solta ( > http://search.cpan.org/search?q=AnyEvent). > Mais voltado para closures seria o IO::Lambda; mais voltado para threads > seria o Coro. Eu, particularmente e pessoalmente, posiciono AE no meio. > > ABS() > > > > 2011/5/31 Rafael <[email protected]> > >> Ola pessoas, >> >> Seguinte, como eu gosto de codar coisas! hasuhaus >> E estou voltando a mexer com perl, fiz um testes no trabalho (escondido do >> chefe), usando threads e closures. >> E estou pensando em criar um package chamado EDP (EventDriven Perl). >> O que vocês me dizem? >> E se já tiver algo pronto, onde eu acho? >> >> []'s >> =begin disclaimer >> Sao Paulo Perl Mongers: http://sao-paulo.pm.org/ >> SaoPaulo-pm mailing list: [email protected] >> L<http://mail.pm.org/mailman/listinfo/saopaulo-pm> >> =end disclaimer >> > > > =begin disclaimer > Sao Paulo Perl Mongers: http://sao-paulo.pm.org/ > SaoPaulo-pm mailing list: [email protected] > L<http://mail.pm.org/mailman/listinfo/saopaulo-pm> > <http://mail.pm.org/mailman/listinfo/saopaulo-pm> > =end disclaimer > > > > =begin disclaimer > Sao Paulo Perl Mongers: http://sao-paulo.pm.org/ > SaoPaulo-pm mailing list: [email protected] > L<http://mail.pm.org/mailman/listinfo/saopaulo-pm> > =end disclaimer > >
=begin disclaimer Sao Paulo Perl Mongers: http://sao-paulo.pm.org/ SaoPaulo-pm mailing list: [email protected] L<http://mail.pm.org/mailman/listinfo/saopaulo-pm> =end disclaimer
