Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
VB_Winsock(TCP+UDP).doc
Скачиваний:
0
Добавлен:
01.04.2025
Размер:
67.07 Кб
Скачать

7

Лабораторная работа №3.

Использование управляющего элемента Winsock языка Visual Basic для передачи сообщений между узлами ЛВС.

Содержание лабораторной работы №3.

  1. Задание.

  2. Краткие теоретические сведения.

  3. Вопросы к лабораторной работе №3.

  4. Требования к оформлению отчета.

I. Задание.

Осуществить передачу текстовых сообщений в реальном масштабе времени между двумя машинами. Предусмотреть передачу информации как в одном, так и другом направлении. Для передачи сообщений использовать протокол TCP и UDP.

Рекомендации к выполнению задания (протокол TCP)

Объект–клиент создается из формы (frmClient). Он вначале устанавливает соединение с объектом-сервером с помощью кнопки(cmdConnect)-"Установка соединения" и далее передает сообщение через текстовый буфер(txtSendData).

Прием сообщения от объекта-сервера осуществляется в другой текстовый буфер(txtReceive).

Для организации передачи информации объекту–серверу необходим управляющий элемент Winsock(sckClient).

Объект-сервер создается из формы (frmServer). Он отвечает согласием на установку соединения с объектом –клиентом и принимает от него сообщения.

В свою очередь, он может и сам передавать сообщения объекту-клиенту.

Для осуществления связи с объектом-клиентом необходим свой Winsock(sckServer).

Примечание. Аналогичные формы должны быть и для протокола UDP. Однако на форме UDP Client не должно быть кнопки "Установка соединения"

II. Краткие теоретические сведения.

1 . Элемент управления Winsock.

Winsock, как элемент управления Visual Basic, невидим для пользователя (также, как и управляющий элемент Timer). Winsock обеспечивает доступ к протоколам TCP и UDP. Он может быть использован разработчиками Microsoft Access, Visual Basic, Visual C++ или Visual FoxPro. При использовании Winsock не обязательно знать функции Winsock API низкого уровня.

W insock не является стандартным элементом управления и потому его нет в окне Toolbox. Для установки его в окно Toolbox необходимо из основного меню Visual Basic выбрать опцию Project/Components.…В диалоговом окне Components (вкладка Controls) выбрать элемент списка - Microsoft Winsock Control 5.0.

2. Определение сокета (гнезда).

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

Сокет идентифицируется сетевым именем компьютера или адресом IP. Он связан с портом, через который передаются данные или с которого принимаются данные. Тип сокета определяет, с каким протоколом будет работать управляющий элемент Winsock: TCP (передача с соединением) или UDP (передача без соединения).

3. Алгоритм работы с тср.

По протоколу TCP перед передачей данных нужно создать соединение.

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

Установка соединения происходит следующим образом.

В приложении-клиенте устанавливается свойство RemoteHost, которое определяет имя или IP-адрес компьютера-сервера, и свойство RemotePort, где определяется номер порта компьютера-сервера, через который сервер "слушает" сеть. Т.е. приложение-клиент должен знать, с кем оно связывается и какой порт сервера "слушает". Затем вызывается метод Connect (запрос на установку соединения).

В приложении-сервере устанавливается свойство LocalPort - порт прослушивания (номер порта компьютера-сервера) и вызывается метод Listen. Когда придет запрос на соединение от клиента, то происходит событие ConnectionRequest. Для установления соединения внутри процедуры обработки события ConnectionRequest должен быть вызван метод Accept.

После установления соединения любой из компьютеров может передавать и получать данные. Чтобы передать данные, вызывается метод SendData.

В сякий раз, при получении данных происходит событие DataArrival. Для принятия данных следует, внутри процедуры обработки события DataArrival, использовать метод GetData.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]