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.