私は、電話と PC の間で一種のチャット アプリを作成しています。電話から受信するために、ソケットをセットアップして に取得しoutputStream
、DataOutputStream
から文字列をポーリングし、LinkedBlokingQueue
を使用して送信しますwriteUTF()
。しかし、何らかの理由で、実行中にヌルポインター例外が発生しますdataOutputStream.writeUTF(input)
。
コードは次のとおりです。
public class txThread extends Thread{
private LinkedBlockingQueue activityQueue;
private Socket socket;
private String input;
public txThread(LinkedBlockingQueue activityQueue){
this.activityQueue = activityQueue;
socket = null;
input = null;
}
public void run(){
DataOutputStream dataOutputStream = null;
try {
socket = new Socket("192.168.1.8",1755);
Log.d("DEBUG","THREAD_TX_CONNECTED");
dataOutputStream = new DataOutputStream(socket.getOutputStream());
while(true){
input = (String) activityQueue.poll();
dataOutputStream.writeUTF(input);
}
} catch (UnknownHostException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
finally{
if (socket != null){
try {
socket.close();
} catch (IOException e) {
e.printStackTrace();
}
}
if (dataOutputStream != null){
try {
dataOutputStream.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
return;
}
}