JAVA Socket Accept зависает - PullRequest
       17

JAVA Socket Accept зависает

0 голосов
/ 23 сентября 2018

Ниже зависания кода не выходит за рамки ниже сообщений и висит в socket.accept ().Его часть приложения для Android и разрешений INTERNET уже добавлены в манифест.Попытка ввода принять в цикле while (true) ... но это не сработало:

09-23 15: 55: 43.737 24079-25436: Попытка открыть порт 5556 ... 09-2315: 55: 43.739 24079-25436: >>> Открытие порта: 5556

    private Socket socket = null;
    private ServerSocket server = null;

    private static final String TAG = "MyActivity";


    public boolean openPort(String host , int port){

        try {
            server = new ServerSocket(port);
        } catch (IOException e) {
            Log.e(TAG , "Error initializing serverSocket: " , e);
        }

        Log.e(TAG , ">>> Opening Port : " + port);

        boolean bmsg = false;

        try {
                socket = server.accept();
                Log.e(TAG , ">>> Opened Port : " + port);

                return true;
        } catch(IOException e){
            Log.e(TAG, "Error opening port: ", e);
            return bmsg;
        } catch(SecurityException s){
            Log.e(TAG, "sError opening port: ", s);
            return bmsg;

        } catch(IllegalBlockingModeException b){
            Log.e(TAG, "bError opening port: ", b);
            return bmsg;
        }
    }

Вышеупомянутый класс вызывается из-под асинхронной задачи при нажатии кнопки:

private class openPort extends AsyncTask{

    @Override
    protected Object doInBackground(Object[] objects) {
        Log.i(TAG , "Trying to open port 5556...");
        //host is localhost
        //port is 5556
        OpenClosePort ocp = new OpenClosePort();
        ocp.openPort(host , port);

        return null;
    }
}
...