Учебник по Visual Basic - 11. Использование элемента управления WinSock Control для создания сетевых приложений.

E-mail Печать PDF
Рейтинг пользователей: / 204
ХудшийЛучший 
Индекс материала
Учебник по Visual Basic
1.2. Преймущества и недостатки VB
1.3. Запуск VB.
1.4. Интегрированная среда разработки (IDE - Integrated Development Environment)
1.5. Основные конструкции языка.
2. Типы данных. Переменные и процедуры, их области видимости. Массивы.
2.2. Переменные и процедуры, их области видимости.
2.3. Объявление массивов и работа с ними.
3. Создание меню
3.1. Создание статического меню
3.2. Создание контекстно-зависимого меню
5. Реализация технологии Drag&Drop средствами VB
5.1. Объекты Drag&Drop
5.2. События Drag&Drop
5.3. Автоматическое перетаскивание
5.4. Перетаскивание с использованием OLE
5.5. Автоматическое перетаскивание с использованием OLE
5.5. Программируемое перетаскивание с использованием OLE
6. Работа с классами в Visual Basic.
6.1.1. Добавление в класс свойств.
6.1.2. Добавление в класс методов.
6.1.3.Добавление в класс событий.
6.1.4.Объявление и использование объектов.
6.1.5. Удаление объекта класса.
6.2. Самостоятельная работа - доработка класса Splitter.
7. Технология OLE
7.1. Элемент управления OLE Container
7.2. Объекты OLE как элементы управления
7.3. OLE Automation
7.4. Создание объекта OLE
7.5. Использование объекта OLE
7.6. Работа с объектами Word
8. Создание элементов управления Active X.
Создание элементов управления ActiveX
Создание элементов управления Active X на примере ZigZag.
9. Использование функций Windows API в VB.
API-вызовы
10. Файловые функции в Visual Basic.
10.2. Обработка текстовых документов (файлы последовательного доступа).
10.3. Файлы произвольного (прямого) доступа.
10.4. Файлы инициализации.
10.5. Использование FSO (File System Object).
11. Использование элемента управления WinSock Control для создания сетевых приложений.
12. Доступ к базам данных из VB с помощью ADO.
12.2. Объект управления данными - ADO Data Control.
12.3. Связанные с данными элементы управления.
12.4. Использование Data Grid Control.
12.5. Доступ к базам данных через объекты ADODB.
13. Практика
Все страницы

Использование элемента управления WinSock Control для создания сетевых приложений.

 

Для создания сетевых приложений средствами VB проще всего использовать Active X Control WinSock, который реализует связь компьютеров по TCP или UDP протоколам.

Для подключения WinSock к вашему приложению из Components необходимо выбрать следующую строку «Microsoft Winsock Control 6.0».

Начнем с того, что вообще такое стек TCP/IP протоколов. Стек TCP/IP это конструкция из трех основных протоколов:

TCP

UDP

IP

Т.е. два протокола TCP и UDP базируются и используют в своей работе IP-протокол. Отличие TCP от UDP - TCP - протокол  с гарантированной доставкой пакетов и созданием т.н. «канала», UDP - простой и быстрый протокол, но без гарантированной доставки пакетов и без создания «канала». Рекомендуется применять TCP-протокол.

Теперь рассмотрим IP-адресацию. Для адресации компьютеров применяется 4 числа от 0 до 255, разделенные точкой. Например, 192.233.80.41. Адрес 127.0.0.1 является «петлей», т.е. указывает на свой компьютер (с помощью него можно тестировать приложения для сети без сети как таковой). Однако на каждом компьютере может работать несколько программ, использующих сеть. Каждая программа должна создать т.н. «сокет», т.е. виртуальное соединение. Чтобы отличить сокеты друг от друга и сделать их адресуемыми, каждому сокету поставлено в соответствие число от 0 до 65535 (порт). Например, прокси-сервер в вычислительном зале нашей кафедры работает по адресу 192.168.10.1:8080, т.е. номер сокета - 8080.

 

Рассмотрим процесс соединения одного компьютера с другим при помощи сокетов по TCP-протоколу. Компьютеры будем называть соответственно сервером и клиентом (т.е. компьютер, который соединяется - клиент, который ждет соединения - сервер).

 

1.      Сервер создает сокет и переходит в режим «прослушивания» (listen).

2.      Клиент создает сокет, задает адрес сервера и номер сокета, по которому «слушает» сервер и посылает запрос на соединение (connect).

3.      Серверный сокет, «услышав» запрос на соединение, должен указать клиенту номер сокета, по которому собственно и произойдет соединение  и соединить серверный сокет для приема/передачи (вновь созданный, либо бывший сокет для прослушивания) с сокетом клиента (accept).

4.      После этого сокеты клиента и сервера соединены и могут передавать информацию.

5.      По окончании работы необходимо закрыть сокеты на обоих концах.

 

Вот как эта последовательность реализуется с помощью WinSock:

1.      На форму сервера помещаем WinSock и задаем его свойства: LocalPort (номер сокета -порт сервера), Protocol (тип протокола). Для перевода сервера в режим прослушивания используется метод Listen (объекта WinSock).

2.      На форму клиента (другое приложение) помещает WinSock и задаем его свойства аналогично серверу, плюс RemoteHost (IP-адрес к которому вы хотите подсоединиться) и RemotePort (порт сервера). Для посылки запроса на соединение используется метод Connect. В случае отказа в соединении происходит ошибка, которую можно обработать.

3.      В форме сервера необходимо написать обработчик события сокета ConnectionRequest, в котором или создается новый сокет для приема/передачи, или используется уже существующий для вызова метода Accept с параметром RequestID (это параметр события ConnectionRequest).

4.      После этого сокеты могут обмениваться информацией в обе стороны с применением метода SendData. При этом обработка прихода данных осуществляется в обработчике события DataArrival, в котором с помощью метода GetData можно собственно получить данные в некий буфер.

5.      Закрываем сокеты с помощью метода Close.