2015-02-27 3 views
0

Я пытаюсь создать сокет сервера на порт 554 (RTSP) в Android и я получаю BindException с «» отказано сообщение:Открытый серверный сокет в android: разрешение отклонено?

 public RequestListener() throws IOException { 
      try { 
       mRtspServerSocket = new ServerSocket(mPort); 
       start(); 
      } catch (BindException e) { 
       Log.e(TAG, "Port bind exception"); 
       throw e; 
      } 
     } 

стандартные порты (или < 1024) недоступны для связывания? Должен ли я иметь для этого права на устройство?

PS. У меня есть <uses-permission android:name="android.permission.INTERNET" /> в AndroidManifest.xml

ответ

2

Вы не можете связываться с портами < 1024.

Либо корень телефона, изменять прошивку или не связываются с портами ниже, чем 1024. Это Linux больше, чем Android.

+0

Разве это где-то написано в руководствах для Android? – 4ntoine

+1

Пока что нет инструкции по ремонту. Вы можете посмотреть: https://code.google.com/p/android/issues/detail?id=4039 - если вам нужно официальное заявление, я бы рекомендовал искать какой-то источник Linux. (Если вы подключите свой телефон, вы сможете протестировать его с портами <1024, я сделал это несколько недель назад) – Xry

Смежные вопросы