Книга: Программирование мобильных устройств на платформе .NET Compact Framework
Соединение равноправных узлов сети посредством IrDA
Соединение равноправных узлов сети посредством IrDA
Сетям с соединениями равноправных узлов предшествовали сети с двухточечными соединениями, и это — парафия IrDA. Передача данных на основе IrDA предоставляет в наше распоряжение простой и относительно широкополосный механизм обмена данными между находящимися рядом с другом устройствами. Несмотря на отсутствие того "блеска новизны", который свойствен таким технологиям персональных сетей, как Bluetooth, у IrDA имеются и свои достоинства — она апробирована, тестирована и проста в использовании. Если ваши пользователи не имеют ничего против установки двух устройств друг напротив друга, то IrDA прекрасно подойдет для удовлетворения нужд вашего приложения, связанных с сетевыми технологиями, основанными на соединении равноправных узлов.
IrDA — это зрелая технология, которая часто остается незамеченной и незаслуженно мало используется разработчиками приложений. По моему мнению, это можно объяснить тем, что многие просто не знают, насколько простой в применении и гибкой является эта технология на самом деле. В .NET Compact Framework возможности программирования IrDA предоставляются посредством интерфейса сокетов, аналогичного тому, который используется при передаче данных посредством сервиса TCP/IP (Internet). Основное, что отличает использование сокетов в Internet-технологиях от использования сокетов в IrDA, — это понятие "именованного порта" ("named port").
Когда используются стек протоколов TCP/IP и сокеты, каждой машине назначаются собственный IP-адрес (например, 200.198.126.81) и номера портов, которые разрешается использовать для связи. Серверы открывают порты, которые они хотят прослушивать для получения запросов. Клиентское устройство может запросить связь с сервером путем указания IP-адреса машины и номера порта, к которому необходимо подключиться. В случае связи посредством двухточечных соединений технологии IrDA порт IrDA одного из устройств ориентируется в сторону другого устройства, в связи с чем отпадает необходимость в использовании схем адресации для установления местонахождения сервера. Если приложение желает предоставить интерфейс сокета IrDA для передачи контактной информации о своем владельце, оно может открыть сокет IrDA, которому присвоено имя OwnerContactInfo. Аналогичным образом, если приложение, играющее роль фотоальбома, должно обеспечивать возможность загрузки фотографий другими приложениями, оно может открыть сокет IrDA с именем PhotoDownloadService. Клиентские приложения на других устройствах, желающие подключиться к этим службам, запрашивают их по именам.
Сеанс связи между Web-браузером и сервером осуществляется примерно таким образом:
1. Сервер: открывает порт 80 для прослушивания поступающих запросов.
2. Браузер: "Привет, сервер номер 200.198.126.81. Я могу подключиться к порту 80?"
3. Сервер: "Да, можешь. Предлагаю соединение с портом, которое можно использовать для передачи данных."
4. Браузер: использует предложенное соединение и начинает обмен данными, в результате чего загружается несколько файлов
Аналогичный сеанс связи с использованием сокетов поверх IrDA осуществлялся бы примерно таким образом:
1. Принимающее устройство: создает именованный порт ReceiveAppXYZData.
2. Передающее устройство. "Привет, я хотело бы установить соединение с устройством, прослушивающим порт ReceiveAppXYZData."
3. Принимающее устройство: "Да, я прослушиваю этот порт. Давай установим соединение."
4. Передающее устройство: использует предоставленное соединение и начинает общение, в результате чего осуществляется передача данных.
Связь с использованием сокетов посредством IrDA является простым и эффективным способом обмена информацией, если два устройства физически располагаются рядом друг с другом.
- Соединение равноправных узлов сети посредством IrDA
- Сокеты IrDA и .NET Compact Framework
- В настоящее время поддержка сокетов .NET для IrDA доступна лишь в .NET Compact Framework, тогда как в .NET Framework для настольных компьютеров она отсутствует
- В настоящее время код, использующий сокеты IrDA .NET Compact Framework, будет выполняться на таких физических устройствах, оборудованных аппаратурой IrDA, как Pocket PC и смартфоны, но не будет правильно выполняться на эмуляторах
- Листинг 15.3. Тестовый код, который необходимо поместить в класс формы для тестирования передачи и приема данных посредством механизма IrDA
- Листинг 15.4. Класс IrDAIrDAFileSend
- Листинг 15.5. Класс IrDAFileReceive
- Раздел VII Левиафан в Сети: защита права на тайну частной жизни после событий 2013 г.
- Работа с ресурсами локальной сети
- Операции с множествами узлов
- 10.4. Локальные сети
- Вот как мы можем повлиять на коммерческий фактор (иными словами, повысить доверие посетителей к сайту)
- Удаление шаблонов узлов STP
- Создание узлов
- Управление объединением содержимого узлов
- Часть II Компьютерные сети и подключение к Интернету
- Как подключить ноутбук к сети Интернет
- Часть IV Работа в сети Интернет
- Неисправности электрической сети и сетевых устройств