#java #sockets
#java #сокеты
Вопрос:
Я создаю приложение TCP-сокета. На стороне сервера,
ss = new ServerSocket(10000);
Socket socket = ss.accept();
String remoteIp = socket.getInetAddress().getHostAddress();
String RemotePort = ":" socket.getLocalPort();
Меня немного смущают последние две строки, getInetAddress() используется для возврата адреса сокета, к которому подключается, а именно является ли это адресом хоста? и тогда зачем нам нужен getHostAddress()?
Ответ №1:
socket.getInetAddress()
возвращает InetAddress
объект, который содержит IP-адрес удаленной машины.
InetAddress.getHostAddress()
возвращает String
объект с текстовым представлением этого адреса.
Итак, чтобы в итоге получить String
, вы можете печатать, вот как вы это делаете.
Редактировать: На случай, если вы не знакомы, это называется «цепочка методов». Это то же самое, что сказать:
InetAddress addy = socket.getInetAddress();
String remoteIp = addy.getHostAddress();
Ответ №2:
В дополнение к ответу Брайана Роучса:
Вы также можете заглянуть в Java API, чтобы найти описание классов, методов и полей: