Net :: Socket :: Nonblock

Net :: Socket :: Nonblock é uma extensão Perl para fácil criação multi-soquete único aplicativo de rosca.
Baixe Agora

Net :: Socket :: Nonblock Classificação e resumo

Propaganda

  • Rating:
  • Licença:
  • Perl Artistic License
  • Preço:
  • FREE
  • Nome do editor:
  • Daniel Podolsky
  • Site do editor:
  • http://search.cpan.org/~tpaba/Net-Socket-NonBlock-0.15/NonBlock.pm

Net :: Socket :: Nonblock Tag


Net :: Socket :: Nonblock Descrição

Net :: Socket :: Nonblock é uma extensão Perl para fácil criação multi-soquete único aplicativo de rosca. Net :: Soquete :: Nonblock é uma extensão perl para fácil criação multi-soquete único aplicativo de rosca, especialmente servidores TCP não forking.synopsis # TCP Port Forester com o log # funciona no Win32! Use rigoroso; Use Net :: Socket :: Nonblock; $ | ++; meu $ localport = shift ou morrer "Uso: $ 0 n"; meu $ remotehost = Shift ou morrer "Uso: $ 0 n"; Meu $ Socknest = Net :: Soquete :: Nonblock :: Nest-> Novo (Selectt => 0.1, Silencet => 0, Debug => $ ^ w, buffsize => 10240,) ou morrer "Erro ao criar soquetes Ninho: $ @n "; $ Socknest-> Ouvir (localport => $ localport, proto => 'tcp', aceitar => newconnection, silenciet => 0, #clientsst => 10, ouça => 10,) ou morrer "não poderia ouvir a porta" $ Localport ': $ @ n "; meu% conpool = (); enquanto ($ socknest-> io ()) {my $ pstr = ''; Meu $ clnsock = Redef; Meu $ SRVSOCK = UNDEF; while ($ clnsock, $ srvsock) = cada (% conpool)) {my $ clientID = sprintf (".15s:% - 5.5s", $ socknest-> peeraddr ($ clnsock), $ socknest-> peerport $ Clnsock)); meu $ str = undef; while ($ str = $ socknest-> ler ($ clnsock)) comprimento ($ str) {$ pstr. = "$ clientID do cliente" .safest ($ str). "N"; $ Srvsock-> coloca ($ str); }; if (! Definido ($ str)) {$ pstr. = "$ ClientID Client Closln"; $ Socknest-> fechar ($ clnsock); # Método de estilo antigo Call $ SRVSock-> fechar (); # Método de estilo OO Call Excluir ($ Conpool {$ clnsock}); Next; }; while ($ str = $ srvsock-> leitura ()) comprimento ($ str)) {$ pstr. = "$ clientID do servidor" .safest ($ str). "N"; $ Socknest-> coloca ($ clnsock, $ str); }; if (! Definido ($ str)) {$ Pstr. = "$ ClientId Server Closedn"; $ Socknest-> fechar ($ clnsock); $ SRVSock-> fechar (); Excluir ($ Conpool {$ clnsock}); Next; }; }; if (comprimento ($ pstr)) {imprimir hortime (). "N". $ Pstr; }; }; sub newconnection {my ($ clnsock) = mudança ou retorno; $ Conpool {$ clnsock} = $ Socknest-> Connect (PeerAddr => $ RemoteHost, Proto => 'TCP',); if (! $ Conpool {$ clnsock}) {warn "não pode se conectar a '$ remotehost': $ @ n"; $ Clnsock-> fechar (); Excluir ($ Conpool {$ clnsock}); Retorna; }; retornar 1; }; Sub Safest {My $ str = Shift ou Return '! Redef!'; $ Str = ~ s {()} {sprintf ("\ x% 2.2x", ord (US $ 1))} Gsex; retornar $ str; }; Requisitos: · Requisitos de Perl: · Perl.


Net :: Socket :: Nonblock Software Relacionado

DBD :: wtsprite.

dbd :: wtsprite é uma extensão perl para o DBI, fornecendo emmulação de banco de dados via arquivos planos. ...

142

Download