Type in these two examples:
Simple Java.net "Hello World"
There is absolutely no practical difference if you ran the client and server in two different windows ... or on two completely different machines.
And as you also see, you pass the remote hostname (or IP address - it doesn't matter) from the command line when you invoke the program.
Instead of a command line argument from "main (String[] args)", you could, of course just as easily read the server name from a GUI: it doesn't matter.
Finally "raw IP" (in the context I believe you're asking), is simply the numeric ID (e.g. "127.0.01"), instead of a meaningful hostname (e.g. "localhost").
'Hope that helps .. PSM