user707549
user707549

Reputation:

getHostAddress() and getInetAddress() in Java

I am creating TCP socket application. In server side,

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

I am a little bit confused about the last two lines, getInetAddress() used to return the address of socket connect to, namely is the address of host? and then why we need a getHostAddress()?

Upvotes: 5

Views: 36054

Answers (2)

Brian Roach
Brian Roach

Reputation: 76908

socket.getInetAddress() returns an InetAddress object that contains the IP address of the remote machine.

InetAddress.getHostAddress() returns a String object with the textual representation of that address.

So, to end up with a String you can print, that's how you do it.

Edit: In case you're not familiar, this is called 'method chaining'. It's the same thing as saying:

InetAddress addy = socket.getInetAddress();
String remoteIp = addy.getHostAddress();

Upvotes: 13

Stefan Endrullis
Stefan Endrullis

Reputation: 4208

In addition to Brian Roachs answer:

You can also take a look into the Java API to find a description for classes, methods and fields:

Upvotes: 0

Related Questions