Problema na resposta do Servidor para o Cliente

2 respostas
M

Pessoal estou com um problema na hora da resposta do Servidor para o Cliente, já testei a solicitação do cliente para o servidor e funciona. Outra coisa que notei é que o número do ip quando o servidor tenta responder para o cliente, volta com uma barra “/” na frente, exemplo:
cliente tem o ip: 127.0.0.1, ai quando o servidor vai responder ele manda o pacote para o ip: /127.0.0.1.

E mais, a porta que ele está respondendo(servidor) não é a que eu passo na interface, ele tá pegando uma porta sei lá onde, fiz o teste passando uma porta a 5000, sabe qual porta ele tava tentando responder? 1980!!! Que loco!!!

Como faço para meu servidor responder para o cliente? Pode ser um JOptionPanezinho, só pra eu saber que tá funcionando…

To usando MVC.

No arquivo anexo eu to mandando a foto da confusão da porta… :roll: :roll:

2 Respostas

E

Não vou mentir, não olhei seu código inteiro, mas mesmo assim encontrei coisas bastante estranhas:

  1. As classes Cliente e Servidor extendem Thread (o melhor seria implementar Runnable - mas isso não “é erro”) porém você não colocou nada dentro do método run() logo sua thread faz nada…

  2. Na hora de instanciar a thread você chamou o método run() - deveria ser start().

  3. Você usou DatagramSocket eu usaria ServerSocket e Socket - afinal eu não basearia minha aplicação no protocolo UDP, mas isso é só uma questão de gosto.

Se você escolher UDP tem que dar uma olhada nas regras senão o pacote sera descartado pelo server.

M

Qual a diferença de implementar de Runnable ou extender de Thread nesse caso? E o fato da Thread cliente não ter nada, é porque preciso somente que o cliente seja instanciado só isso, mas eu posso colocar dentro do run para o datagramsocket seja instanciado. Agora o fato de você ter me dito que seria melhor utilizar ServerSockets e Sockets eu também concordo mas esse projeto era para termos vários servidores então para mudar a porta e o ip, usar datagram é mais fácil.

Criado 23 de março de 2008
Ultima resposta 24 de mar. de 2008
Respostas 2
Participantes 2