зователя. У компонента меняем имя на “ws” и свойству “LocalPort”
присваиваем число, которое и будет номером порта общения двух
программ, например 12345.
Теперь попробуем запустить программу. У нас ничего не должно
появиться. Завершаем работу программы нажатием кнопки “Стоп”.
Запишем код программы в “Form_Load”:
Private Sub Form_Load()
Do
If ws.State <> sckConnected And ws.State <> sckListening Then
ws.Close
ws.Listen
End If
DoEvents
Loop
End Sub
В данной функции рассматривается ситуация, когда у сервера от-
сутствует соединение с клиентом. Программа закрывает связь и от-
крывает порт 12345 в ожидании клиента. Условие на установление
связи нужно повторять во время работы программы, чтобы избежать
разрыва связи. Сервер начинает “слушать” порт, затем подключается
удаленный компьютер, а после его отключения порт не будет про-
слушиваться. Значения, которые может принимать свойство “State”,
приведены в таблице.
Таблица
Значения, принимаемые свойством “State”
Константа
Значение
Описание
SckClosed
0
Запуск программы или порт закрыт
SckOpen
1
Порт открыт
SckListening
2
Порт прослушивается
sckConnectionPending
3
Режим ожидания соединения
sckResolvingHost
4
Ожидание разрешения на соединение с
сервером
sckHostResolved
5
Соединение разрешено
sckConnecting
6
Подключение к серверу
sckConnected
7
Связь с сервером установлена
sckClosing
8
Связь с сервером закрывается
sckError
9
Ошибка соединения
Теперь нужно подключить клиента. Для этого необходимо написать
функцию “ws_ConnectionRequest”.
Private Sub ws_ConnectionRequest(ByVal requestID As Long)
ws.Close
ws.Accept requestID
End Sub
112 ISSN 0236-3933. Вестник МГТУ им. Н.Э. Баумана. Сер. “Приборостроение”. 2006. № 1