пользователей: 30398
предметов: 12406
вопросов: 234839
Конспект-online
РЕГИСТРАЦИЯ ЭКСКУРСИЯ

Сокеты и сокетные соединения.


Передача данных по сети - сложный процесс, включающий в себя определение пути доставки данных, организацию взаимодействия, алгоритмы синхронизации, обработки сбойных ситуаций и т.п. Программное обслуживание такого процесса сложное. Для упрощения введено понятие сокета (гнезда), как конечной точки коммуникации. Сокет(гнездо, разъем) – это программная абстракция, используемая для представления “терминалов” соединений между двумя машинами.
Каждый из сокетов определяется типом и ассоциированным с ним процессом. Реально для передачи организуются определенные дескрипторы TCP-соединения, т.н. гнезда (socket): гнездо сервера и гнездо клиента, которые в Internet домене включают в себя IP-адреса сервера и клиента и номера портов, через которые они взаимодействуют. Сервер, обычно, имеет закрепленный и постоянный во взаимодействии номер порта, а клиенту, обращающемуся по этому номеру для связи к серверу, назначается некоторый другой (эфемерный) номер порта после установления соединения с сервером на сеанс их взаимодействия и таким образом основной порт освобождается, для установления последующих связей (номер порта выбирается сервером из числа незанятых в диапазоне от 1024 до 65535).
Сокеты для работы в сети можно создать 2-х типов:
1) Потоковые для TCP-соединения. TCP могут передавать даннные только между 2-мя приложениями, так как они предполагают наличие канала между этими приложениями.
2) Датаграммные. Для датаграмм не нужно создавать канал, данные посылаются приложению с использованием адреса, состоящего из сокета и номера порта. (В датаграммах не гарантируется доставка и корректность последовательности передачи пакетов) Для передачи датаграмм не нужны ни механизмы подтверждения связи, ни механизмы управления потоком данных.
Для TCP-соединений в JAVA используется два класса сокетов: ServerSocket – класс используемый сервером, чтобы “слушать” входящие соединения и Socket - используемый клиентом для инициирования соединения.

 

28.12.2017; 02:21
хиты: 92
рейтинг:0
для добавления комментариев необходимо авторизироваться.
  Copyright © 2013-2024. All Rights Reserved. помощь