Estou criando uma simples aplicação utilizando Sockets, rodando no Ubuntu, onde o cliente envia uma mensagem e o servidor escreve-a. Apenas para fins de testes.
Executando os dois na mesma máquina funciona perfeitamente, mas quando executo em outra máquina (Windows), que está em minha rede, o cliente não consegue se conectar ao server.
Tem alguma configuração que devo fazer para essa aplicação ?
Estou criando uma simples aplicação utilizando Sockets, rodando no Ubuntu, onde o cliente envia uma mensagem e o servidor escreve-a. Apenas para fins de testes.
Executando os dois na mesma máquina funciona perfeitamente, mas quando executo em outra máquina (Windows), que está em minha rede, o cliente não consegue se conectar ao server.
Tem alguma configuração que devo fazer para essa aplicação ?
Obrigado desde já a qualquer ajuda.
Olá, se vc esta usando a porta correta e o endereço correto a unica coisa que me ocorre agora é que o firewall pode estar bloqueando o acesso ao servidor!!
T
tonycb
Estou usando a porta que indicava no tutorial.
Server:
ServerSocketserver=null;Socketclient;Stringentrada;try{// 1234 é um número de porta não utilizadoserver=newServerSocket(1234);}catch(IOExceptionie){System.out.println("O socket não pode ser aberto.");System.exit(1);}try{client=server.accept();OutputStreamclientOut=client.getOutputStream();PrintWriterpw=newPrintWriter(clientOut,true);InputStreamclientIn=client.getInputStream();BufferedReaderbr=newBufferedReader(newInputStreamReader(clientIn));entrada=br.readLine();pw.println(client.getLocalAddress()+": "+entrada);System.out.println("Mensagem recebida: "+entrada);}catch(IOExceptionie){}
Client:
try{Socketclient=newSocket("java.sun.com",1234);InputStreamclientIn=client.getInputStream();OutputStreamclientOut=client.getOutputStream();PrintWriterpw=newPrintWriter(clientOut,true);BufferedReaderbr=newBufferedReader(newInputStreamReader(clientIn));BufferedReaderstdIn=newBufferedReader(newInputStreamReader(System.in));System.out.println("Digite uma mensagem para o servidor: ");pw.println(stdIn.readLine());System.out.println("Mensagem do Servidor: ");System.out.println(br.readLine());pw.close();br.close();client.close();}catch(ConnectExceptionce){System.out.println("Não foi possível se conectar ao servidor.");}catch(IOExceptionie){System.out.println("Erro de I/O.");}
Então, como eu disse. Desse jeito, com esse código, executando em um computador na minha rede, usando Windows, o client não consegue conectar no server.
Alguma ideia ?
Bruno_Cunha
Aí é mais uma questão de rede do que da Socket em si…