|
最近在研究android手机控制端程序,单独的视频接受显示是没问题了。但是在加上发送运动控制的语句后程序就卡在那里了。
关键代码如下:
public static byte[] combineByte(byte paramByte1, byte paramByte2, byte paramByte3){
byte[] arrayOfByte = new byte[5];
arrayOfByte[0] = -1;
arrayOfByte[1] = paramByte1;
arrayOfByte[2] = paramByte2;
arrayOfByte[3] = paramByte3;
arrayOfByte[4] = -1;
return arrayOfByte;
}
public static byte[] toHex(String paramString){
byte b1= 0x00;
try{
byte[] arrayOfByte1 = new BigInteger(paramString, 16).toByteArray();
return arrayOfByte1;
}catch (Exception arrayOfByte2){
byte[] arrayOfByte = combineByte(b1, b1, b1);
return arrayOfByte;
}
}
private static void send(byte[] paramArrayOfByte){
if (consocket == null);
while (true){
try{
OutputStream localOutputStream = consocket.getOutputStream();
localOutputStream.write(paramArrayOfByte);
localOutputStream.flush();
}catch (IOException localIOException){
localIOException.printStackTrace();
}
}
}
第一个和第二个函数是用来将String转换为十六进制数组,然后通过将指令send发送出去
使用过程如下:
ROBOT_CONTROLPORT_CON = localSharedPreferences.getString("ControlPort", "2001");
ROBOT_CONTROLIP_CON = localSharedPreferences.getString("ControlIP", "192.168.1.1");
InetAddress localInetAddress = InetAddress.getByName(ROBOT_CONTROLIP_CON);
int port = Integer.parseInt(ROBOT_CONTROLPORT_CON);
consocket = new Socket(localInetAddress, port);
send(toHex("FFEEEEEEFF"));
然后程序就卡在send语句上了,连视频都无法接收了。这到底是什么情况?请教各位大神
|
|