我正在开发一个 Android 应用程序,它将通过 Socket 将相机流发送到 Node.js Web 服务器。当应用程序必须创建套接字时,应用程序不会执行 try 语句中的代码,但即使启动任何捕获异常。
我的线程
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;
}
相机活动.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 服务器,它只在对应的端口中侦听,没有别的。
怎么了?
提前致谢!
Android设备通过wifi连接,电脑通过以太网连接......不同的子网。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句