2015-05-18 3 views
0

настоящее время я используюКак передать пользовательские параметры в программировании сокетов?

Socket s = new Socket(HOST, 8000); 

создать сокет для подключения к ServerSocket server = new ServerSocket(8000).

С этим я могу фактически использовать server.accept(); для доступа к имени узла, например.

Однако, как бы я пошел, если бы захотел отправить пользовательские параметры, такие как имя клиента, которое выбирает мой клиент, прежде чем подключиться к серверу?

+4

После того как вы создали соединение сокета, вы можете разработать любой протокол, необходимый для установления идентификатора клиента, et. и др. – jgitter

+0

Ваш вопрос непонятен. Пожалуйста, уточните это. –

ответ

1

Имя хоста устанавливается через службу доменных имен (DNS). Если вы хотите, чтобы ваш клиент имел имя хоста, вашему клиенту потребуется список DNS. Если это то, что вы хотите продолжить, вы можете посмотреть другие вопросы по DNS на этом сайте или на сайте ServerFault или SuperUser.

Если вам нужен только идентификатор клиента для удобства вашей системы, вы можете отправить его по соединению после установления соединения, используя протокол - то есть формат связи - который вы устанавливаете как для клиента, так и для сервера , Например, ваш клиент может отправить сериализованную java.lang.String, содержащую свое имя на сервер, как первое, что он делает в соединении. Затем ваш сервер может прочитать имя из соединения после его установки.

Смежные вопросы