[Cascavel-pm] Re: IO::Socket e IO::Select
Luiz Gonzaga Pinto Jr
junior3 em smagon.com.br
Sexta Janeiro 10 04:57:08 CST 2003
ok, Eduardo, entendi, mas a programação do servidor?
use IO::Socket;
my $sock = new IO::Socket(LocalPort => 2000, Listen => 30, Reuse, 1);
...
utiliza o IO::Select?
e como faz isso?
e na parte do cliente? utiliza o mesmo que acima? é essa minha dúvida... não
consegui entender direito ainda...
----- Original Message -----
From: "Ednardo Lobo" <ednardo em elobo.cjb.net>
To: <cascavel-pm em mail.pm.org>
Sent: Thursday, January 09, 2003 9:33 PM
Subject: [Cascavel-pm] Re: IO::Socket e IO::Select
> On Wed, Jan 08, 2003 at 10:04:49AM -0200, Luiz Gonzaga Pinto Jr wrote:
> > Olá, pessoal,
> >
> Oi, tudo bom?
>
> > Sou novo na lista. Espero poder contribuir com ela sempre com minha
> > pequena experiência em programação Perl. Porém, meus conhecimentos em
> > perl são bem resumidos, isto é, meus programas têm um formato bem
> > "arroz com feijão", padrão das primeiras versões do perl.
> >
> Há sempre espaço para qualquer tipo de contribuição.
>
> O importante é contribuir de alguma forma!
>
> > Tenho uma grande dúvida. Estou querendo desenvolver um servidor de
> > chat utilizando conexões por sockets. Existem esses dois módulos do
> > perl (IO::Socket::INET e IO::Select), aos quais na Net apenas achei os
> > documentos padrões da perldoc para aprender. As sintaxes deles até não
> > é o problema. O que não consegui foi como aplicá-los num servidor de
> > chat e nos clientes. "O que uso onde?".
> >
> > Se alguém souber de alguma documentação sobre eles especificamente
> > para geração de servidores chat, me avisem, ok?
> >
> Se o que você pretende fazer, é criar um servidor e cliente CHAT,
> aconselho você dar uma olhada nas primitivas em C das seguintes funções:
> socket, connect, bind, listen, accept. Elas se relacionam da seguinte
> forma, dependendo do protocolo utilizado:
>
> # SOCKET INTERFACE
>
> - TCP
>
> Servidor
>
> +----------+
> +-- | socket() |
> | +----------+
> |
> +-> +--------+
> | bind() |
> +-- +--------+ Cliente
> |
> +-> +----------+ +----------+
> | listen() | | socket() | --+
> +-- +----------+ +----------+ |
> | |
> +-> +----------+ |
> | accept() | |
> +-- +----------+ |
> | |
> | +-----------+ <-+
> | <------------------------ | connect() |
> | +-----------+ --+
> | |
> +-> +--------+ +---------+ <-+
> | read() | <-------------- | write() |
> +-- +--------+ +---------+ --+
> | |
> | +---------+ +--------+ |
> +-> | write() | --------------> | read() | <-+
> +---------+ +--------+
>
>
> - UDP
>
> Servidor Cliente
>
> +----------+ +----------+
> +-- | socket() | | socket() | --+
> | +----------+ +----------+ |
> | |
> +-> +--------+ +--------+ <-+
> | bind() | | bind() |
> +-- +--------+ +--------+ --+
> | |
> +-> +------------+ +----------+ <-+
> | recvfrom() | <--------- | sendto() |
> +-- +------------+ +----------+ --+
> | |
> | +----------+ +------------+ |
> +-> | sendto() | ---------> | recvfrom() | <-+
> +----------+ +------------+
>
>
> O entendimento dessas primitivas, ajudará bastante na compreensão do
> funcionamento da lib `IO::Socket::INET'.
>
> Boa sorte!!
>
> > Obrigado, por hora.
> >
> Disponha!
>
> --
> Ednardo Lobo - www.elobo.cjb.net
>
> --
> taxidermist, n.:
> A man who mounts animals.
> _______________________________________________
> Cascavel-pm mailing list
> Cascavel-pm em mail.pm.org
> http://cascavel.pm.org/mailman/listinfo/cascavel-pm
>
---
Outgoing mail is certified Virus Free.
Checked by AVG anti-virus system (http://www.grisoft.com).
Version: 6.0.441 / Virus Database: 247 - Release Date: 09/01/2003
Mais detalhes sobre a lista de discussão Cascavel-pm