Связанный код выглядит нормально и ошибка очень специфична. Что вы можете попробовать:
Убедитесь, что ваш код идентичен списку. Обратите особое внимание на аргумент командной строки client hostname:
client = new ChatClient(args[0], Integer.parseInt(args[1]));
Если вы случайно сделали:
client = new ChatClient(args[1], Integer.parseInt(args[1]));
Это приведет к ошибке UknownHostException, которая вызовет ваше сообщение об ошибке. Вы также можете проверить это, изменив следующее сообщение:
System.out.println("Establishing connection. Please wait ...");
до
System.out.println("Establishing connection to " + serverName + ". Please wait ...");
Тогда вы точно будете знать, что пытаетесь соединиться с тем, что вы думаете.
В противном случае убедитесь, что вы можете пропинговать имя хоста или IP-адрес из командной строки.