Olá! Estava fazendo aquele exemplo de sockets que tem no tutorial(muito bom inclusive), só que não deu retorno. Da esse erro:Exception in thread “main” java.net.ConnectException: Connection refused: connect
at java.net.PlainSocketImpl.socketConnect(Native Method)
at java.net.PlainSocketImpl.doConnect(Unknown Source)
at java.net.PlainSocketImpl.connectToAddress(Unknown Source)
at java.net.PlainSocketImpl.connect(Unknown Source)
at java.net.SocksSocketImpl.connect(Unknown Source)
at java.net.Socket.connect(Unknown Source)
at java.net.Socket.connect(Unknown Source)
at java.net.Socket.(Unknown Source)
at java.net.Socket.(Unknown Source)
at TCPClient.main(TCPClient.java:11)
Queria saber se é pq tenho que configurar alguma coisa no eclipse? Ou o que poderia ser? Já coloquei o ip de loopbak, já coloquei só localhost, já coloquei meu proprio ip mas nao funciona…
:?:
Você já verificou se a porta que vc ta usando não está bloqueada pelo firewall?
Poste o código que fica mais fácil pra gente ver
ConnectionRefused ocorre quando você não conseguiu conectar no servidor. Verifique o ip e a porta, 90% dos casos é isso. Em todo caso, se quiser postar o código, talvez dê pra ver algo.
:thumbup:
Estou usando a porta do exemplo: 7000, mas já mudei pra 4444 e continua dando erro e o ip: localhost, ou 127.0.0.1 para loopback mas continua o erro. o codigo:
[code]
import java.io.;
import java.net.;
public class TCPClient {
public static void main(String argsv[]) throws Exception{
String sentence;
String modifiedSentence;
BufferedReader inFromUser = new BufferedReader( new InputStreamReader(System.in));
Socket clientSocket = new Socket("127.0.0.1",7000);
DataOutputStream outToServer = new DataOutputStream(clientSocket.getOutputStream());
BufferedReader inFromServer =
new BufferedReader(new InputStreamReader(
clientSocket.getInputStream()));
sentence = inFromUser.readLine();
outToServer.writeBytes(sentence+'\n');
modifiedSentence = inFromServer.readLine();
System.out.println("FROM SERVER: "+modifiedSentence);
clientSocket.close();
}
}[/code]
import java.io.*;
import java.net.*;
public class TCPServer {
public static void main(String[] args) throws Exception{
String clientSentence;
String capitalizedSentence;
ServerSocket welcomeSocket = new ServerSocket(7000);
while (true){
Socket connectionSocket = welcomeSocket.accept();
BufferedReader inFromClient = new BufferedReader(
new InputStreamReader(connectionSocket.getInputStream()));
DataOutputStream outToClient = new DataOutputStream(
connectionSocket.getOutputStream());
clientSentence = inFromClient.readLine();
capitalizedSentence = clientSentence.toUpperCase() + '\n';
outToClient.writeBytes(capitalizedSentence);
}
}
}
Cara, o código está perfeito!
Você digitou no console? Repare que o client lê do System.in!
Não, pq da esse erro antes de eu poder digitar alguma coisa. Mas eu coloquei a porta 999 por indicação aqui do forum e deu certo, foi estranho pq fiz outra aplicação cliente, servidor usando essa porta 7000 e efuncionou beleza, mas essa que postei só funcionou quando coloquei a porta abaixo de 1024. :shock:
Valeu pela ajuda!