Я пытаюсь заставить свое Java-приложение взаимодействовать с легковесным сервером Ruby, который я написал. Он работает в моей локальной сети, и всякий раз, когда я пытаюсь запустить приложение, он не продвигается дальше линии, которая устанавливает сокет с сервером и зависает. Я не получаю никаких следов стека, и все необходимые разрешения назначены в политике безопасности. Есть идеи?
Это совершенно новый экземпляр сервера, и на стороне сервера не возникает ошибок.
// Start the server listener
ServerListener listener = new ServerListener();
listener.start();
Logging logging = new Logging();
logging.addEntry(EntryType.SUCCESS, "Started the server listener.");
// Send a network request to the server
// Hangs here
try {
// Initialize the socket and output stream
Socket socket = new Socket("ip", port);
socket.setSoTimeout(3000);
DataOutputStream out = new DataOutputStream(socket.getOutputStream());
// Write the computer name
out.writeUTF(InetAddress.getLocalHost().getHostName());
out.flush();
// Close the streams
out.close();
socket.close();
} catch (IOException ex) {
ex.printStackTrace();
}
Я ожидал, что приложение продолжит работу после того, как оно подключилось к серверу, отправило сообщение и закрыло все сокеты / выходные потоки, но оно просто зависает, как только устанавливает сокетное соединение с сервером.