Ola Galera<div><br></div><div>Eu tenho algo mais ou menos assim</div><div><br></div><div><a href="https://gist.github.com/4141422">https://gist.github.com/4141422</a></div><div><br></div><div>O que acontece é que, se eu fizer</div>

<div><br></div><div>bash$ (echo "xxx" ;sleep 30 ; echo "yyy") | nc localhost 9090</div><div><br></div><div>ta de boa, o xxx e o yyy são impressos em momentos distintos mas</div><div><br></div><div><div>

bash$ (echo -n "xxx" ;sleep 30 ; echo "yyy") | nc localhost 9090</div><div><br></div><div>O server TRAVA enquanto </div><div><br></div><div>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.</div>

<div><br></div><div>achei q era o getline mas substituindo por getc para ler caracter a caracter eu só consigo ler o primeiro antes de travar.</div><div><br></div><div>alguma ideia?</div><div><br></div><div>outra coisa, eu suportamente tenho que ler um protocolo simples, uma linha com um padrão, como</div>

<div><br></div><div>a|b|c|d\r\n</div><div><br></div><div>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?</div>

<div><br></div><div>Obrigado</div><div><br></div><div><br></div><div><br></div>-- <br>Tiago B. Peczenyj<br>Linux User #405772<br><br><a href="http://pacman.blog.br">http://pacman.blog.br</a><br>
</div>