我正在开发一个Android应用程序,它将通过Socket将摄像机流发送到Node.js Web服务器。当应用程序必须创建套接字时,应用程序不会执行try语句中的代码,但即使启动任何catch异常。
MyThread.java
protected Void doInBackground(Void... unused) {
OutputStream os = null;
try {Log.d("MyCameraApp", "HERE1");
mSocket = new Socket(ip, port);
if (mSocket != null) {Log.d("MyCameraApp", "SOCKET CONNECTED");
try {
os = mSocket.getOutputStream();
while (true) {
DataOutputStream dos = new DataOutputStream(os);
dos.writeInt(4);
dos.writeUTF("#@@#");
dos.writeInt(mFrameBuffer.size());
dos.writeUTF("-@@-");
dos.flush();
dos.write(mFrameBuffer.toByteArray());
dos.flush();
Thread.sleep(1000 / 15);
}
} catch (Exception e) {
e.printStackTrace();
try {
if (os != null)
os.close();
} catch (Exception e2) {
e.printStackTrace();
}
}
}
else {
Log.d("MyCameraApp", "SOCKET NULL");
}
}
catch(UnknownHostException e) {
Log.d("MyCameraApp", "CATCH SOCKET");
e.printStackTrace();
}
catch (IOException e) {
e.printStackTrace();
}
return null;
}
CameraActivity.java
try {
mThread = new MyThread(getApplicationContext(), SERVERIP, SERVERPORT);
mThread.execute();Log.d("MyCameraApp", "WELL DONE");
}
catch(Exception e) {
e.printStackTrace();
Log.d("MyCameraApp", "CATCH");
}
CameraActivity创建一个mThread对象,应用程序只在try中创建日志'HERE1',然后才创建套接字,然后显示日志'WELL DONE'。
我有一个基本的Node.js服务器,它只在通信端口中侦听,没有别的。
有什么问题?
提前致谢!
答案 0 :(得分:0)
Android设备通过wifi连接,电脑通过以太网连接......不同的子网。