Ниже зависания кода не выходит за рамки ниже сообщений и висит в 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;
}
}