[SP-pm] duvida sockets e select

Tiago Peczenyj tiago.peczenyj at gmail.com
Sat Nov 24 13:21:51 PST 2012


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
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.pm.org/pipermail/saopaulo-pm/attachments/20121124/c78beb1c/attachment.html>


More information about the SaoPaulo-pm mailing list