java.net.BindException при создании сокета датаграммы в Android на Mac

1

Я создаю один сокет datagram в своем приложении, как показано ниже:

DatagramSocket socket = new DatagramSocket(60000,
                        InetAddrByName("192.168.1.72"));

Этот конструктор дейтаграммы возвращается с исключением

java.net.BindException: The requested address could not be bound.

Я добавил файл android.permission.INTERNET в файл манифеста. Я использую iMac и Eclipse 3.4.2. Я проверил, что порт 60000 свободен. Также 192.168.1.72 - мой ip-адрес. Так что может быть проблемой?

Теги:

2 ответа

1

с сайта dev Ссылаясь на localhost из эмулируемой среды

Если вам нужно обратиться к локальному хосту вашего хоста, например, когда вы хотите, чтобы клиент эмулятора связался с сервером, работающим на том же хосте, используйте псевдоним 10.0.2.2, чтобы обратиться к интерфейсу loopback хост-компьютера. С точки зрения эмулятора localhost (127.0.0.1) ссылается на собственный интерфейс loopback.

  • 0
    Я просто хочу привязать мой сокет к моему IP-адресу Ethernet. Остальное я разберусь.
0

Что означает "мой IP-адрес".

Это один из адресов, которые вы видите, когда перечисляете экземпляры NetworkInterface на устройстве?

  • 0
    Я имею в виду мой IP-адрес Ethernet. И это так, как указано в фрагменте кода.
  • 0
    ну, этот комментарий не содержит ни единого бита информации больше или меньше, чем ваш оригинал. Бесполезно, если вы хотите, чтобы на ваш вопрос ответили. Мы пытаемся помочь вам, устраняя неопределенность, а затем решаем, можем ли мы помочь или если мы не знаем, либо. На самом деле есть много неопределенности: вы работаете на устройстве или эмуляторе? IP-адрес - это адрес (эмулируемого или нет) устройства или целевой адрес. Поскольку я не знаю вашего уровня владения языком, такие вопросы могут быть обоснованными.
Показать ещё 1 комментарий

Ещё вопросы

Сообщество Overcoder
Наверх
Меню