Не могу решить проблему с сервером. Надо что бы Input и Output были в разных потоках, но как разделить их на два разных потока? Я пытался, но после их запуска получал вот это:
Exception in thread "Thread-1" Exception in thread "Thread-0" java.lang.NullPointerException
at server.ServerInput.run(ServerInput.java:21)
at java.lang.Thread.run(Thread.java:745)
java.lang.NullPointerException
at server.ServerOutput.run(ServerOutput.java:20)
at java.lang.Thread.run(Thread.java:745)
Вот код, который мне надо разделить на два потока. Помогите пожалуйста:
try {
server = new ServerSocket(SettingsServer.getPort(), SettingsServer.getMaxUsers());
while (true) {
connect = server.accept();
output = new ObjectOutputStream(connect.getOutputStream());
input = new ObjectInputStream(connect.getInputStream());
inObject = (String)input.readObject();
if (inObject.equals("<html><table><tr><td>&&&$server_recd;</td></tr></center></html>") == true) {
SettingsServer.CounterPlus();
}
if (inObject.equals("<html><table><tr><td>/server</td></tr></center></html>") == true) {
SettingsServer.CounterPlus();
sendData(SettingsServer.getInformation());
}
if (inObject != null && inObject.equals("<html><table><tr><td>&&&$server_recd;</td></tr></center></html>") == false && inObject.equals("<html><table><tr><td>/server</td></tr></center></html>") == false) {
SettingsServer.CounterPlus();
last_message.setText(inObject);
sendData("&&&$client_recd;");
}
inObject = null;
}
} catch (UnknownHostException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
} catch (HeadlessException e) {
e.printStackTrace();
} catch (ClassNotFoundException e) {
e.printStackTrace();
}