"Exception in thread "Thread-2" java.lang.NullPointerException at client.Client.run(Client.java:32)" を取得しています 32 行目は、以下の switch ステートメント行です。スイッチは列挙型メソッドにあります。エラーは、スレッドの 1 つが他のスレッドよりも高速になっているためだと思いますが、よくわかりません...ここで十分なコードを提供したことを願っています。
public void run() {
while (running) {
try {
switch (receiveMessage()) {
case SERVER_HELLO:
expectingServerHello = true;
break;
//other cases
}
} catch (IOException e) {
e.printStackTrace();
}
}
}
public ServerMessages receiveMessage() throws IOException {
String sentence;
BufferedReader inFromServer = new BufferedReader(new InputStreamReader(clientSocket.getInputStream()));
sentence = inFromServer.readLine();
return MessageSerialize.fromServerMessage(sentence);
}