-1
我正在开发一个Android应用程序,它将通过Socket将相机流发送到Node.js Web服务器。当应用程序必须创建套接字时,应用程序不会执行try语句内的代码,但即使启动任何catch异常。未创建Android套接字
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("[email protected]@-");
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对象和应用程序只显示尝试里面的日志 'HERE1',创建套接字之前和然后显示日志'WELL DONE'。
我有一个基本的Node.js服务器,只在通讯端口监听,没有别的。
出了什么问题?
在此先感谢!
你给你的应用程序相应的权限? –
是的,该应用程序有权访问互联网 –
可以请你分享变量IP和端口的值?你确定他们提供? –