Главная | Обратная связь | Поможем написать вашу работу!
МегаЛекции

Private Sub cmdСonnect_Click ( )




sckClient.Connect "Q4", 1001 ' Параметры метода Connect могут быть

'опущены

End Sub

6. Прием и передача данных.

После установления соединения передачу данных может осуществить как клиент, так и сервер. Ниже приведен пример передачи данных, содержащихся в текстовом буфере txtSendData, клиентом:

Private Sub cmdSend ()

SckClient.SendData txtSendData.Text

End Sub

Прием осуществляется, используя событие Data Arrival, с помощью метода GetData. Ниже приведен пример приема данных сервером в текстовый буфер txtInput.Text:

Private Sub sckServer_ Data Arrival (ByVal bytesTotal As Long)

Dim strData As String

SckServer.GetData strData

txtOutput.Text = strData

End Sub

Примечание 1. Параметр bytesTotal, процедуры события DataArrival, указывает на количество пришедших байт.

Примечание2. Процедуры передачи и приема могут находиться и в клиенте, и в сервере.

 


7. Работа Winsock по протоколу UDP.

Различают два способа программирования сервера и клиента по протоколу UDP: "несимметричное" программирование, когда имеет значение кто первым начнет передачу, и "симметричное" программирование, когда не имеет значение кто первым начнет передачу.

 
 

Рассмотрим " несимметричное " программирование. Пусть приложение – клиент первым обращается к приложению – сервер. В этом случае, в приложении – клиент должны быть указаны следующие свойства Winsock: Remote Host и Remote Port, т.е. полностью определен сокет удаленного сервера. В приложении - сервер необходимо использовать метод Bind, в параметрах которого требуется указать локальный порт (Local Port), который будет использован приложением – сервер. Безусловно, Remote Port, указанный в приложении – клиенте, должен совпадать со значением параметра Local Port, указанного в приложении – сервер.

 

Примечание.

1. При запуске приложения – сервер используется метод Bind, который осуществляет привязку своего локального порта со своим IP – адресом. Кроме того, он переводит состояние сокета в sckOpen –"открыто".

2. Сокет приложения – клиента переходит в состояние "открыто" при выполнении метода Send.

3. После первой передачи сообщения от клиента серверу, передача может происходить в обоих направлениях (используя методы Get Data и Send с обеих сторон).

 

Рассмотрим " симметричное " программирование. Для этого случая и приложение – клиент и приложение – сервер программируются одинаково. В обоих приложениях устанавливаются свойства Winsock: Remote Host и Remote Port и вызывается метод Bind.

 

 

 
 

Примечание.

1. При таком программировании узлы полностью равноправны и могут передавать сообщения друг другу в любом направлении, используя методы Send и Get Data.

2. При обращении клиента к другому серверу по протоколу UDP нужно изменить только Remote Host и Remote Port. При использовании протокола TCP клиенту необходимо закрыть соединение, а затем заново открыть новое.

 

 

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

1). В чем разница в между протоколами TCP и UDP? В каких случаях следует использовать TCP, а в каких UDP?

2). Будет ли работать приложение, если установить разные значения свойства RemoteHost и соответствующего ему параметра метода Connect?, свойства RemotePort и соответствующего ему параметра метода Connect?

3). В каком диапазоне целых чисел лежат номера RemotePort?

4). Winsock имеет свойство LocalIP, по которому в режиме Run можно получить IP-адрес своего компьютера. Модифицируйте программу (протокол TCP) так, чтобы клиент, зная сетевое имя сервера, мог получить его IP-адрес.

5). Какие параметры Winsock устанавливает операционная система, а какие программист при симметричном и несимметричном программировании протокола UDP?

6) Как осуществить топологию межмашинного соединения типа "звезда" по протоколу UDP? Проведите эксперимент для "несимметричного" программирования.

 

 

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

Отчет должен содержать:

- текст задания;

- схему взаимодействия сервера и клиента по протоколу TCP и UDP;

- и листинги процедур сервера и клиента по протоколу TCP и UDP;

- письменные ответы на вопросы.

Поделиться:





Воспользуйтесь поиском по сайту:



©2015 - 2024 megalektsii.ru Все авторские права принадлежат авторам лекционных материалов. Обратная связь с нами...