Oi Luciano,

        talvez isso seja besteira, mas tente criar um servidor
multi-threaded, onde cada conexao retornada pelo accept fosse passada para
uma thread tratar.

        Acho que o que estah acontecendo eh que como depois de ter chamado
o accept uma vez voce nao o chama novamente ateh que a socket que ele
retornou seja fechada, pode-se aproveitar da porta 3000 para enviar e
receber informacoes. Na verdade para testar isso voce nao precisa nem de
criar um servidor multi-threaded, faca somente o seguinte:

        ServerSocket server = new ServerSocket(3000);
        Socket s1 = server.accept();
        Socket s2 = server.accept();

        System.out.println(s1.getLocalPort());
        System.out.println(s2.getLocalPort());

        Abra entao dois telnets para a porta 3000 e envie qualquer coisa
para o servidor. Me fale se isso rolou...

Abracos,

Bruno.

On Mon, 14 Aug 2000, lusoujava wrote:

> Caro MPS,
> 
>      Acho que Vc se equivocou neste ponto. O método getLocalPort 
> que estou chamando é o da classe Socket e não da classe 
> ServerSocket. A sua explicação parece-me coerente para o método 
> de mesmo nome só que da classe ServerSocket.
>     De acordo com o javadoc da classe Socket temos a seguinte 
> descrição para o método getLocalPort()
>   ->"Returns the local port to which this socket is bound."
> ou seja, retorna a porta TCP alocada para este socket.
> 
>     A minha dúvida é que esta porta não deveria ser a mesma porta 
> TCP que o Servidor está "escutando" pois se assim fosse como eu 
> iria ter meu servidor e um cliente prestando serviços numa mesma 
> porta?? Existe ainda um problema maior se eu tiver vários Socket 
> criados a partir de uma chamada a ServerSocket.accept() então 
> todos estarão ligados a uma mesma porta visto que getLocalport 
> sempre retornará a porta em que o servidor gerador destes sockets 
> está "escutando".
> 
>     De qualquer forma valeu pela dica.
> 
> [ ]´s
> Luciano Coelho
> 
> 
> > 
> > Olá Luciano,
> > 
> > O valor retornado está correto, pois esse método faz justamente 
> isso,
> > retorna o número da porta em que o socket está recebendo 
> solicitações.
> > 
> > getLocalPort
> >    public int getLocalPort()
> > 
> >    Returns the port on which this socket is listening.
> > 
> > 
> > Mps
> > 
> > 
> > 
> > 
> >                                                                                    
> >                     "lusoujava"                                                    
> >                     <lusoujava@bo        Para:   
> [EMAIL PROTECTED]          
> >                     l.com.br>            cc:                                       
> >                                          Assunto:     [java-list] Retorno do       
> >                     10/08/2000           getLocalPort                              
> >                     12:36                                                          
> >                     Responder a                                                    
> >                     java-list                                                      
> >                                                                                    
> >                                                                                    
> > 
> > 
> > 
> > Caros colegas do soujava,
> > 
> > Vamos considerar o seguinte trecho de código:
> > 
> > ServerSocket srv = new ServerSocket(3000);
> > 
> > Socket cln = srv.accept();
> > 
> > System.out.println(cln.getLocalPort());
> > 
> > Minha dúvida é a seguinte: o valor a ser impresso deveria ser algo
> > diferente de 3000, ou seja, qualquer outra porta desde que 
> diferente
> > da porta de listen do meu servidor. Mas aqui está justamente o
> > problema.... O valor retornado é justamente 3000.
> > 
> > Alguém saberia o motivo e assim sendo poderia me dar alguma
> > explicação?
> > 
> > [ ]´s
> > Luciano Coelho
> > 
> > 
> > 
> > 
> _________________________________________________________
> _________________
> > BOL dá 15 viagens GRÁTIS para as Olimpíadas!
> > Desafio BOLimpíadas. Inscreva-se já! 
> http://desafio.bol.com.br/bolimpiadas
> > 
> > 
> > 
> > 
> > 
> > ------------------------------ LISTA SOUJAVA 
> ----------------------------
> > http://www.soujava.org.br  -  Sociedade de Usuários Java da 
> Sucesu-SP
> > dúvidas mais comuns: http://www.soujava.org.br/faq.htm
> > regras da lista: http://www.soujava.org.br/regras.htm
> > para sair da lista: envie email para 
> [EMAIL PROTECTED]
> > 
> -----------------------------------------------------------------
> --------
> > 
> > 
> > 
> > 
> > 
> > 
> > ------------------------------ LISTA SOUJAVA 
> ---------------------------- 
> > http://www.soujava.org.br  -  Sociedade de Usuários Java da 
> Sucesu-SP 
> > dúvidas mais comuns: http://www.soujava.org.br/faq.htm
> > regras da lista: http://www.soujava.org.br/regras.htm
> > para sair da lista: envie email para 
> [EMAIL PROTECTED] 
> > 
> -----------------------------------------------------------------
> --------
> > 
> > 
> 
>  
> __________________________________________________________________________
> BOL dá 15 viagens GRÁTIS para as Olimpíadas!
> Desafio BOLimpíadas. Inscreva-se já! http://desafio.bol.com.br/bolimpiadas
>  
>  
> 
> 
> 
> ------------------------------ LISTA SOUJAVA ---------------------------- 
> http://www.soujava.org.br  -  Sociedade de Usuários Java da Sucesu-SP 
> dúvidas mais comuns: http://www.soujava.org.br/faq.htm
> regras da lista: http://www.soujava.org.br/regras.htm
> para sair da lista: envie email para [EMAIL PROTECTED] 
> -------------------------------------------------------------------------
> 


______________________________________________________________
Bruno Diniz de Paula
[EMAIL PROTECTED] - UFMG

"Coracoes ao alto e pes no chao."

"A verdadeira experiencia com Deus nao nos faz
 fugir da realidade, mas nos da forcas para
 enfrenta-la e transforma-la."

Pe. Zeca


------------------------------ LISTA SOUJAVA ----------------------------
http://www.soujava.org.br  -  Sociedade de Usuários Java da Sucesu-SP
dúvidas mais comuns: http://www.soujava.org.br/faq.htm
regras da lista: http://www.soujava.org.br/regras.htm
para sair da lista: envie email para [EMAIL PROTECTED]
-------------------------------------------------------------------------

Responder a