Способ 1:
InetAddress addr = InetAddress.getByName("192.168.0.101");
int port = 18250;
Socket socket = new Socket(addr, port);
Способ 2:
Socket socket = new Socket("192.168.0.101",18250);
Они одинаковые:
java исходный код:
public
class Socket {
...
public Socket(String host, int port)
throws UnknownHostException, IOException
{
this(host != null ? new InetSocketAddress(host, port) :
new InetSocketAddress(InetAddress.getByName(null), port),
(SocketAddress) null, true);
}
public Socket(InetAddress address, int port) throws IOException {
this(address != null ? new InetSocketAddress(address, port) : null,
(SocketAddress) null, true);
}
...
}
Для проекта в стиле HelloWorld между ними нет большой разницы. В более крупных проектах могут быть некоторые преимущества при использовании метода 1. Если у вас уже есть объект InetAddress, то с помощью конструктора Socket (InetAddress, int) избегает того, чтобы класс Socket проверял, является ли строка подходящим интернет-адресом.