Android套接字未创建

时间:2017-07-27 12:30:46

标签: android sockets

我正在开发一个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服务器,它只在通信端口中侦听,没有别的。

有什么问题?

提前致谢!

1 个答案:

答案 0 :(得分:0)

Android设备通过wifi连接,电脑通过以太网连接......不同的子网。