1. Клиент сервер - клиент в чем их разница именно в Java?
2. Для чего используются имя сервера, или как я понимаю имя хоста в Java?
3. Роль портов и сокетов ?
Охохох. Какой-же душный душнило этот преподаватель... Это как-же надо было сузить
инфо-технологии чтобы писать про сеть в таком ключе?
Ладно.
1 В чем разница соединений клиент сервера Java?
Сервер ожидает соединений. Например Apache Tomcat. Клиент к нему подключается.
На этом их роли заканчиваются. После установления соединения (websocket) роли
могут перевернуться на уровне приложений.
2 В чем особенности использования сервера имен в java?
Не существует никаких особенностей. Сервер имен (если имеется в виду) DNS-сервер
существует без Java и был создан задолго до создания Java. Его задача обслуживать
разрешение имен в сети. Об этом можно почитать. Материалов много. Есть книга "DNS and Bind"
3 Как играют роль порты и сокеты в java?
Очень важную роль. На сокетах строят все сетевые приложения. Опять-же этот вопрос
к Java не имеет отношения. Java использует сокеты на общих основаниях так-же как и
Python, Go, C++ e.t.c.