クラスでは、単純なクライアント/サーバーを作成しています。クライアントはjframeを開き、ユーザーがホストとポート番号を入力します。接続が確立されると、キーリスナーを持つ別のjframeが開かれます。クライアント側で入力された内容は、サーバーのjtextareaに表示されます。クライアントとサーバーを接続することはできますが、この直後にnullポインター例外が発生します。サーバーでbufferedreader以外のものを使用する必要があると思いますか、それとも実際に何かが入力されるまでサーバーの読み取りを停止できるでしょうか?それとも私は完全に間違ったことをしていますか?助けていただければ幸いです。関連するコードは以下のとおりです。
public class TypeServer extends JPanel {
BufferedReader lnr;
public TypeServer(Socket soc) throws IOException {
InputStream inStream = soc.getInputStream();
InputStreamReader isr = new InputStreamReader(inStream);
BufferedReader lnr = new BufferedReader(isr);
}
//below is in the main function
try {
ServerSocket srv = new ServerSocket(5555);
Socket soc=srv.accept();
while (true) {
// Create server
TypeServer tc = new TypeServer(soc);
String line=tc.lnr.readLine();
textArea.append(line);
srv.close();
soc.close();
}
}
編集:以前にこれを含めなかったことをお詫びしますが、String line = tc.lnr.readLine(); 行がnullポインタ例外にヒットする