Spec-Zone .ru
спецификации, руководства, описания, API
След: Пользовательские Сети
Урок: Все О Сокетах
Каков Сокет?
Домашняя страница > Пользовательские Сети > Все О Сокетах

Каков Сокет?

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

На стороне клиента: клиент знает имя узла машины, на которой сервер работает и номер порта, на котором слушает сервер. Чтобы обратиться с просьбой соединения, клиент пробует к рандеву с сервером на машине сервера и порту. Клиент также должен идентифицировать себя для сервера, таким образом, он связывает с локальным номером порта, что он будет использовать во время этого соединения. Это обычно присваивается системой.

Запрос соединения клиента

Если все подходит, сервер принимает соединение. После принятия сервер связал новый сокет с тем же самым локальным портом и также установил его удаленную конечную точку в адрес и порт клиента. Это нуждается в новом сокете так, чтобы это могло продолжать слушать исходный сокет для запросов соединения, склоняясь к потребностям соединенного клиента.

Соединение делается

На стороне клиента, если соединение принимается, успешно создается сокет, и клиент может использовать сокет, чтобы связаться с сервером.

Клиент и сервер может теперь связаться при записи в или читая из их сокетов.


Определение: 

Сокет является одной конечной точкой двухсторонней линии связи между двумя программами, работающими на сети. Сокет связывается с номером порта так, чтобы уровень TCP мог идентифицировать приложение, которое данные предназначаются, чтобы быть отправленными.


Конечная точка является комбинацией IP-адреса и номера порта. Каждое соединение TCP может быть однозначно определено его двумя конечными точками. Тем путем у Вас могут быть многократные соединения между Вашим узлом и сервером.

java.net пакет в платформе Java обеспечивает class, Socket, это реализует одну сторону двухстороннего соединения между Вашей программой Java и другой программой на сети. Socket class находится сверху зависимой от платформы реализации, скрывая детали любой определенной системы из Вашей программы Java. При использовании java.net.Socket class вместо того, чтобы положиться на собственный код, Ваши программы Java могут связаться по сети независимым от платформы способом.

Дополнительно, java.net включает ServerSocket class, который реализует сокет, который серверы могут использовать, чтобы прислушаться и принять соединения с клиентами. Этот урок показывает Вам, как использовать Socket и ServerSocket классы.

Если Вы пытаетесь соединиться с Сетью, URL class и связанные классы (URLConnection, URLEncoder) являются, вероятно, более соответствующими чем классы сокета. Фактически, URL являются относительно высокоуровневым соединением с Сетью и используют сокеты в качестве части базовой реализации. См. Работу с URL для информации о соединении с Сетью через URL.


Проблемы с примерами? Попытайтесь Компилировать и Выполнить Примеры: FAQ.
Жалобы? Поздравление? Предложения? Дайте нам свою обратную связь.

Предыдущая страница: Все О Сокетах
Следующая страница: Чтение из и Запись в Сокет