Ola Galera Eu tenho algo mais ou menos assim
https://gist.github.com/4141422 O que acontece é que, se eu fizer bash$ (echo "xxx" ;sleep 30 ; echo "yyy") | nc localhost 9090 ta de boa, o xxx e o yyy são impressos em momentos distintos mas bash$ (echo -n "xxx" ;sleep 30 ; echo "yyy") | nc localhost 9090 O server TRAVA enquanto Agora o que acontece: eu tenho que escutar em outra porta (otimi o codigo mas basicamente eu inicio outro IO::Socket::INET em outra porta e trato dentro do main loop) outros clientes e fazer coisas divertidas com eles. com o server travado eu não faço mais nada. achei q era o getline mas substituindo por getc para ler caracter a caracter eu só consigo ler o primeiro antes de travar. alguma ideia? outra coisa, eu suportamente tenho que ler um protocolo simples, uma linha com um padrão, como a|b|c|d\r\n então o getline me é util, não achei outra forma de brincar com um buffer sem ficar maluco. alias eu deveria suportar utf-8 na entrada porem eu não vi diferença no binmode, tem algum truque? estou esquecendo de algo? o common::sense ja faz algo por mim? Obrigado -- Tiago B. Peczenyj Linux User #405772 http://pacman.blog.br
=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
