저는 휴대 전화에서 SocketServer를 작동 시키려고했습니다. 나는 최근에 ICS로 업그레이드 했으므로 지금은별로 익숙하지 않은 별도의 스레드에서 네트워크 작업을해야한다. 몇 가지 코드를 작성했지만 소켓에 연결하려고하면 앱이 다운됩니다. 있습니다 내가 얻을Android SocketServer 충돌 앱
final Switch connectionSwitch = (Switch) findViewById(R.id.connectionSwitch);
connectionSwitch.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
if(isChecked) {
new Thread(){
public void run() {
try {
serverSocket = new ServerSocket(port);
socket = serverSocket.accept();
outToServer = new DataOutputStream(socket.getOutputStream());
} catch (UnknownHostException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
while(connectionSwitch.isChecked()) {
myPacket[0] = (byte) 0xAA;
myPacket[1] = (byte) 0x01;
myPacket[2] = (byte) (fanFrontSpeed/256);
myPacket[3] = (byte) (fanFrontSpeed%256);
myPacket[4] = (byte) (fanLeftSpeed/256);
myPacket[5] = (byte) (fanLeftSpeed%256);
myPacket[6] = (byte) (fanRightSpeed/256);
myPacket[7] = (byte) (fanRightSpeed%256);
try {
outToServer.write(myPacket,0,8);
} catch (IOException e) {
e.printStackTrace();
}
}
try {
socket.close();
} catch (IOException e1) {
e1.printStackTrace();
}
}
}.start();
}
}
});
오류 :에 의해 단계를 것입니다 이런 식으로 뭔가를 디버깅하는
FATAL EXCEPTION: Thread-4487
java.lang.NullPointerException
logcat을 통해보다 구체적인 오류 텍스트를 얻을 수 있습니까? 그렇지 않으면 우리는 null이 될 수도있는 것만 추측 할 수 있습니다. – ryanbwork
저는이 문제를 좀더 해결하고 문제를 해결하기 위해 outToServer.write (myPacket, 0,8)를 사용하고 있습니다. 내가 올바르게 사용하고 있지 않거나 (이전에 작동했던 writeInt를 사용하고 있었다) 또는 myPacket을 구성하는 방식이 잘못되었습니다. – user1425706