Мы только что обновили наш сервер от Sun, запустив Solaris 9, 32 бит. (установлен в 2005 году) на новый CentOS 5, (linux) на 64 бит.Java: IOException после обновления сервера
Новейшая версия Java - 1.6.0_20 (но мы больше не можем получить доступ к информации о старой версии Java).
Существует часть апплета Java (OPMClient) начинает кинул IOExeption:
import java.applet.*;
import java.awt.*;
import java.net.*;
import java.io.*;
import java.util.*;
public class OPMClient extends Applet {
...
public static final int PORT = 8888;
MineCanvas minecanvas;
...
public void clientSend() {
try {
s = new Socket(this.getCodeBase().getHost(), PORT);
in = new DataInputStream(s.getInputStream());
out = new DataOutputStream(s.getOutputStream());
listener = new SolutionListener(in, minecanvas);
}
catch (IOException e) {e.printStackTrace();} //showStatus("IOException in clientSend()");}
...
}
public boolean action(Event e, Object arg) {
...
if (arg.equals("Submit")) {
if (action(null, "Update Grid")) {
minecanvas.Submit();
} else {
return true;
}
}
...
}
class MineCanvas extends Canvas {
...
public void Submit() {
if (position == -1) {
errorString = "No ore has been entered!";
mode = ERROR;
repaint();
} else {
ComputeGridValue();
parent.clientSend();
}
}
...
}
Мы пытались понять, почему это происходит, но после нескольких часов работы на этом, но безуспешно. Может ли кто-нибудь помочь нам решить эту проблему? Столбец ниже
java.net.ConnectException: Connection timed out: 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.<init>(Unknown Source)
at java.net.Socket.<init>(Unknown Source)
at OPMClient.clientSend(OPMClient.java:128)
at MineCanvas.Submit(OPMClient.java:423)
at OPMClient.action(OPMClient.java:118)
at java.awt.Component.handleEvent(Unknown Source)
at java.awt.Component.postEvent(Unknown Source)
at java.awt.Component.postEvent(Unknown Source)
at java.awt.Component.postEvent(Unknown Source)
at java.awt.Component.dispatchEventImpl(Unknown Source)
at java.awt.Component.dispatchEvent(Unknown Source)
at java.awt.EventQueue.dispatchEventImpl(Unknown Source)
at java.awt.EventQueue.access$000(Unknown Source)
at java.awt.EventQueue$1.run(Unknown Source)
at java.awt.EventQueue$1.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.AccessControlContext$1.doIntersectionPrivilege(Unknown Source)
at java.security.AccessControlContext$1.doIntersectionPrivilege(Unknown Source)
at java.awt.EventQueue$2.run(Unknown Source)
at java.awt.EventQueue$2.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.AccessControlContext$1.doIntersectionPrivilege(Unknown Source)
at java.awt.EventQueue.dispatchEvent(Unknown Source)
at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.run(Unknown Source)
Exception in thread "AWT-EventQueue-2" java.lang.NullPointerException
at OPMClient.clientSend(OPMClient.java:138)
at MineCanvas.Submit(OPMClient.java:423)
at OPMClient.action(OPMClient.java:118)
at java.awt.Component.handleEvent(Unknown Source)
at java.awt.Component.postEvent(Unknown Source)
at java.awt.Component.postEvent(Unknown Source)
at java.awt.Component.postEvent(Unknown Source)
at java.awt.Component.dispatchEventImpl(Unknown Source)
at java.awt.Component.dispatchEvent(Unknown Source)
at java.awt.EventQueue.dispatchEventImpl(Unknown Source)
at java.awt.EventQueue.access$000(Unknown Source)
at java.awt.EventQueue$1.run(Unknown Source)
at java.awt.EventQueue$1.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.AccessControlContext$1.doIntersectionPrivilege(Unknown Source)
at java.security.AccessControlContext$1.doIntersectionPrivilege(Unknown Source)
at java.awt.EventQueue$2.run(Unknown Source)
at java.awt.EventQueue$2.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.AccessControlContext$1.doIntersectionPrivilege(Unknown Source)
at java.awt.EventQueue.dispatchEvent(Unknown Source)
at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.run(Unknown Source)
Будет очень признателен. P.S .: Надеюсь, это не очевидная проблема.
С уважением, Ян
Можете ли вы разместить подробный файл stackTrace? – Manish
Пожалуйста, разместите трассировку стека. –
Изменение 'catch (IOException e) showStatus (« IOException в clientSend() »);' to 'catch (IOException e) e.printStackTrace();' Я не знаю, как вы ожидаете отладки этого с такими неадекватными сообщениями об ошибках , То, что это не пришло вам в голову после нескольких часов работы над ним, вызывает беспокойство. –