У меня возникла проблема, когда я пытаюсь подключить свое физическое устройство к моему серверу с помощью сокетов. На стороне сервера он, похоже, не принимает никакого соединения, в то время как на стороне клиента сокет истекает. Есть идеи, почему это происходит?Сбой клиентского сокета при подключении к серверу
Я обеспечиваю мой код ниже кодекса
Сервер:
public void run()
{
// TODO Auto-generated method stub
try{
gamePending = false;
pid = 0;
while(pid < 2){
System.out.println("Hello from run loop on game");
Socket tempSocket = server.accept();
System.out.println("Client connected at " + tempSocket.getLocalPort());
PrintWriter tempWriter = new PrintWriter(new BufferedWriter (new OutputStreamWriter(tempSocket.getOutputStream())),true);
tempWriter.println("" + pid);
players[pid] = new Client(tempSocket, pid, this);
players[pid].start();
gamePending = true;
if(pid == 0){sendMsg(pid, "waiting for other player");}
pid++;
}
}
catch(Exception e){
System.out.println("There has been an Error. Game will be Terminated.");
}
//Start new game for the next two players...
new Game();
}
Client Side:
public void run() {
// Connects to the Server....
try {
socket = new Socket("192.168.1.116", 9090);
} catch (UnknownHostException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
try {
in = new BufferedReader (new InputStreamReader(socket.getInputStream()));
} catch (IOException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
try {
out = new PrintWriter(socket.getOutputStream(),true);
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
11-16 23: 32: 11,016: W/System.err (24213) : java.net.ConnectException: не удалось подключиться к /192.168.1.116 (порт 9090): соединение не выполнено: ETIMEDOUT (время ожидания подключения) 11-16 23: 32: 11.016: W/System.err (24213): в libcore .io.IoBridge.connect (IoBrid ge.java:114) 11-16 23: 32: 11.016: W/System.err (24213): на java.net.PlainSocketImpl.connect (PlainSocketImpl.java:192) 11-16 23: 32: 11.026: W/System.err (24213): at java.net.PlainSocketImpl.connect (PlainSocketImpl.java:459) 11-16 23: 32: 11.026: W/System.err (24213): на java.net.Socket. connect (Socket.java:842) 11-16 23: 32: 11.026: W/System.err (24213): at vatos.locos.spheroknockout.Connection.run (Connection.java:22) 11-16 23: 32: 11.026: W/System.err (24213): at java.lang.Thread.run (Thread.java:841) 11-16 23: 32: 11.026: W/System.err (24213): причиненный: libcore.io.ErrnoException: сбой подключения: ETIMEDOUT (время ожидания подключения) }
Попробуйте выполнить telnet из клиентского окна на ваш IP-адрес вашего сервера. Соединяет ли он? –