| Autor |
Mensagem |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 02/01/2010 18:36:13
|
Andre_JavaWorld
JavaTeenager
![[Avatar]](/images/avatar/b6770af9bf892b0d4dbbc1aa5a3201a4.jpg)
Membro desde: 29/06/2007 12:48:07
Mensagens: 166
Localização: Saint Cyr L'ecole, France
Offline
|
Ola Pessoal,
A muito muito tempo que nao trabalho com sockets, porem ultimamente tive uma situacao em que foi necessaria a utilizacao de sockets, so estou usando porque tenho MESMO que fazer isso em sockets, até ai tudo bem, sem problemas, sockets sao uma das primeiras coisas que aprendemos sobre cliente/servidor em java, porem... diferente de Chuck Norris, a vida de um programador nao é uma aventura sem fim... e as vezes nos deparamos com stacktraces totalmente bizarros como este que irei lhes mostrar agora... o codigo esta bem simples e sem nenhuma funcao maluca, porem deem so uma olhada no stacktrace! para informacao, estou usando o windows 7 ultimate 64 bits.
Aqui esta minha classe Servidor:
e aqui esta minha classe cliente...
e aqui o maravilhoso e abençoado stacktrace dos meus pecados...
Se alguem souber a solucao para este problema, agradeço imensamente, começo a pensar que seja algo ligado ao SO e nao ao codigo... alguem ja passou por este problema?
Abraços a todos!
André Martins
|
 |
|
|
 |
|
|
![[Post New]](/templates/default/images/icon_minipost_new.gif) 02/01/2010 20:06:58
|
ViniGodoy
Moderador
![[Avatar]](/images/avatar/1921493b5362e63fbe8983f4bd54157d.png)
Membro desde: 11/12/2006 08:22:01
Mensagens: 20578
Localização: Curitiba/PR
Offline
|
Esse erro pode ocorrer por uma causa, a porta onde você está tentando conectar o servidor não está livre.
a) Se isso ocorre toda vez que você executa o programa, tente trocar a porta. Ela deve estar sendo usada por outro aplicativo. Procure colocar uma porta diferente das muito conhecidas ou utilizadas.
b) Se isso só ocorre na segunda vez que você abre o socket, é porque o SO ainda não liberou a porta, mesmo depois do final da aplicação. Isso é perfeitamente normal. Para livrar-se do problema dê o comando socket.setReuseAddress(true); no seu ServerSocket.
|
@ViniGodoy - Lattes
Tem dúvidas de Java? Poste no fórum! Não respondo dúvidas de java via MP!
Ponto V! - Desenvolvimento de Jogos Profissional - @Pontov - Facebook
Projeto Towel - Swing de uma forma inteligente (Novo lar do ObjectTableModel e do Auto-Filtro).
Ei... você está usando DefaultTableModel no seu projeto??
Não faça isso! Veja: http://www.guj.com.br/posts/list/15/199067.java#1001295 |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 02/01/2010 21:59:22
|
Andre_JavaWorld
JavaTeenager
![[Avatar]](/images/avatar/b6770af9bf892b0d4dbbc1aa5a3201a4.jpg)
Membro desde: 29/06/2007 12:48:07
Mensagens: 166
Localização: Saint Cyr L'ecole, France
Offline
|
Obrigado pela Resposta ViniGodoy, porem eu havia feito algumas pesquisas no guj e vi que realmente o so poderia estar segurando o socket na segunda tentativa, entao fiz o que voce havia recomendado setando setReausableAddress para true, tambem ja havia pensado nos problemas das portas, ja tentei varias portas, e o erro acontece em todas elas, estou usando kaspersky internet security e tanto o java quanto o ambiente de desenvolvimento estao adicionados com suas devidas excessoes, vou analizar o codigo geral e procurar o erro, assim que encontrar irei postar, pois vi que algumas pessoas passaram pelo mesmo problema...
Obrigado por sua ajuda!
Abraços
André Martins
|
 |
|
|
 |
|
|
|
|