getHostAddress () и getInetAddress () в Java - PullRequest
5 голосов
/ 22 апреля 2011

Я создаю приложение сокета TCP. На стороне сервера

ss = new ServerSocket(10000);
Socket socket = ss.accept();
String remoteIp = socket.getInetAddress().getHostAddress();
String RemotePort = ":"+socket.getLocalPort();

Я немного озадачен последними двумя строками: getInetAddress () используется для возврата адреса подключения к сокету, а именно адрес хоста? и тогда зачем нам нужен getHostAddress ()?

Ответы [ 2 ]

12 голосов
/ 22 апреля 2011

socket.getInetAddress() возвращает объект InetAddress, который содержит IP-адрес удаленного компьютера.

InetAddress.getHostAddress() возвращает объект String с текстовым представлением этого адреса.

Итак, чтобы получить String, вы можете напечатать, вот как вы это делаете.

Редактировать: Если вы не знакомы, это называется «сцепление методов».Это то же самое, что сказать:

InetAddress addy = socket.getInetAddress();
String remoteIp = addy.getHostAddress();
0 голосов
/ 22 апреля 2011

В дополнение к ответу Брайана Роуча:

Вы также можете заглянуть в API Java, чтобы найти описание классов, методов и полей:

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...