В функции “ws_ConnectionRequest” сначала прекращается прослу-
шивание порта, а затем подсоединяется клиент по номеру его запроса.
На этом код соединения двух программ завершен. Далее запишем код
для функции “ws_DataArrival”. Он будет вызываться, когда будут при-
ходить данные от сервера.
Private Sub ws_DataArrival(ByVal bytesTotal As Long)
Dim Data As String
ws.GetData Data
Select Case Data
Case "MSG"
MsgBox "Поступили данные от сервера"
Case "END"
End
End Select
End Sub
В этой функции сначала объявляем переменную “Data”, которая
будет содержать пришедшие данные, а затем запишем их. После это-
го просматривают все возможные варианты, т. е. команды, которые
могли прийти от сервера. Здесь их две: MSG, END, теперь остается
скомпилировать программу. Назовем ее “server.exe”.
Приступим к написанию клиентской части. Создадим новый про-
ект и форму.
Поставим на форму два текстовых поля и назовем их “IP” и “Port”,
нажимаем две кнопки с надписями “Подключиться” и “Отключиться”,
и три кнопки с надписями “Сообщение” и “Закрыть сервер”. Имена
кнопок оставим по умолчанию. Теперь добавим “Winsock Control” и
назовем его “ws”. Поскольку наш сервер работает на порту 12345,
то свойству “Text” второго текстового поля можно сразу присвоить
значение 12345. Текст первого поля — значение “IP” адреса данного
компьютера. Для этого напишем следующую функцию:
Private Sub Form_Load()
IP.Text = ws.LocalIP
End Sub
Private Sub Command1_Click()
ws.Close
ws.RemoteHost = IP
ws.RemotePort = Port
ws.Connect
End Sub
Private Sub Command2_Click()
ws.Close
End Sub
ISSN 0236-3933. Вестник МГТУ им. Н.Э. Баумана. Сер. “Приборостроение”. 2006. № 1 113