Итак, у меня есть два класса java для сокет-сервера и клиента:
Для сервера:
System.out.println("Server started:");
ServerSocket server = new ServerSocket(1935, 0, InetAddress.getByName("localhost"));
Socket connection = new Socket();
while(active){
connection = server.accept();
printTimeStamp();
InputStream in = connection.getInputStream();
while(in.available() == 0){
//waiting till message is complete
}
MessageDecode(in);
}
MessageDecode - это просто внутренний метод, который читаетвходные потоки и сохраняют его где-то
для клиента
Socket connectionSocket = new Socket();
InetAddress address = InetAddress.getByName("THE_CLOUD_SERVER_IP");
SocketAddress sAddress = new InetSocketAddress(address, 1935);
connectionSocket.setKeepAlive(true);
connectionSocket.setTcpNoDelay(true);
connectionSocket.connect(sAddress, 2000);
OutputStream os = connectionSocket.getOutputStream();
os.write("HELLO SERVER".getBytes());
os.close();
System.out.println("sent");
, когда я запускаю оба на локальном хосте, это работает как чудо, но когда я запускаю классна облачный сервер я получаю исключение тайм-аута java.net.SocketTimeoutException: connect timed out
, даже когда por слушает, я знаю его прослушивание, потому что когда я запускаю приложение и выполняю netstat -anp, я получаю:
tcp 0 0 127.0.0.1:1935 0.0.0.0:* LISTEN PID/java
Может кто-нибудь подсказать, как это решить?Ваша помощь должна быть оценена.Спасибо (._. ')