2014-01-26 2 views
0

Я начинаю локальный сервер HTTP, используя этот код:Получить глобальный IP-адрес от Java сервера HTTP

HttpServer server = HttpServer.create(new InetSocketAddress(8000), 0); 
    server.createContext("/intro", new MyHandler()); 
    server.setExecutor(null); 
    server.start(); 

теперь я хочу, чтобы ударить URL /intro от какой-то другой проблемы server.The это я не знаю, адрес ip, чтобы hit.Doing server.getAddress() дает 0.0.0.0:8000. Я хочу найти глобальный IP-адрес.

+0

, если он работает на вашем компьютере, то ударил HTTP :: // локальный: 8000/интро –

ответ

0

Вы должны знать, что такое ваш ip (cmd и ipconfig) и получить IPv4-адрес. Но помните, что в локальной сети отображается только ваш локальный IP-адрес, поэтому только пользователи из одной сети могут его видеть. В глобальной сети вы идентифицируете IP-адрес вашего интернет-провайдера.

0

InetSocketAddress (интермедиат порт)

создает сокет адрес, по которому IP-адрес является адресом группового символа и номер порта заданного значения.

InetSocketAddress (InetAddress адр, Int порт)

создает сокет-адрес из IP-адреса и номера порта.

Подстановочный знак - это особый локальный IP-адрес. Обычно это означает «any» и может использоваться только для операций привязки. Значение этого IP-адреса равно 0.0.0.0.

поэтому используйте другой конструктор InetSocketAddress, когда вы можете поместить имя хоста

новый InetSocketAddress (String имя хоста, порт INT) вызывает InetAddress.getByName (имя хоста).

Теперь вы должны получить свой локальный адрес IP-при запросе server.getAddress()

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

  • Нет связанных вопросов^_^