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

Программирование в интернет:
» ПИ
» ОКГТМ
» КИНФС

Сокеты. Принцип работы. Клиентские и серверные сокеты.

Сокеты — это объекты, которые инкапсулируют в себе все необходимые средства для обмена данными в сетях Интернет/интранет. Эти объекты сами создают соединения и посылают/принимают данные, что позволяет программисту избавиться от многих забот и организовать взаимодействие между различными программными компонентами в масштабах сетей так же легко, как, например, чтение и запись в файл. Итак, рассмотрим эти объекты подробнее.

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

В процессе обмена, как правило, используется два сокета — сокет отправителя и сокет получателя. Например, при обращении к серверу на HTTP порт сокет будет выглядеть так: 194.106.118.30:80, а ответ будет поступать на mmm.nnn.ppp.qqq: xxx.

Каждый процесс может создать «слушающий» сокет и привязать его к какому-нибудь порту операционной системы. Слушающий процесс обычно находится в цикле ожидания, то есть просыпается при появлении нового соединения. При этом сохраняется возможность проверить наличие соединений на данный момент, установить тайм-аут для операции и т. д.

Каждый сокет имеет свой адрес.

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

Клиентский сокет

Этот объект предназначен для установления связи с сервером, даже если он реализован на другом языке программирования. Нахождение нужного сервера осуществляется в сети по его имени, либо IP-адресу. После установления соединения программа может взаимодействовать с сервером, а именно — посылать и принимать данные. Работать с клиентским сокетом довольно просто. Достаточно указать сервер, его порт, на котором расположена интересуемая служба, а после того, активизировать сокет.

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

 

 


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