1
我一直在试图让我的手机上运行的SocketServer。我最近升级到了ICS,所以现在我需要在一个单独的线程中完成我的网络工作,这是我不习惯的。我写了一些代码,但一旦我尝试连接到套接字,应用程序崩溃。Android SocketServer崩溃应用程序
我开始当切换通断开关切换将ServerSocket:我得到
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获得更具体的错误文本吗?否则,我们只能猜测什么可能是空的。 – ryanbwork 2012-08-14 00:06:33
我一直在搞乱它,并且已经解决了outToServer.write(myPacket,0,8)的问题。要么我没有正确使用它(我以前一直在使用正在工作的writeInt),或者我构建myPacket的方式是错误的。 – user1425706 2012-08-14 01:20:19