Создание TCP приложения-клиента
Создание TCP приложения-клиента.
Добавьте новую форму в проект и назовите ее frmClient. Измените свойство формы caption на «TCP Client». Перетащите и разместите компонент Winsock на форму и измените его свойство name на «tcpClient».
- Добавьте два Текстбокс-контрола на форму frmClient.
- Имя первого установите txtSend, а второго txtOutput.
- Перетащите на форму CommandButton и установите его свойство name в «cmdConnect».
- Измените свойство caption этой кнопки на «Connect».
Добавьте следующий код в форму.
Будьте внимательны при установке свойства RemoteHost. Оно должно соответствовать либо IP-адресу вашего компьютера, либо его «Дружественному имени» (см. Пуск\Настройка\Панель управления\Сеть) выберите вкладку «Идентификация». Текст из поля «Имя компьютера» и будет так называемым дружественным именем, которым можно заменять IP-адрес. Сам же IP-адрес, можно посмотреть, если выбрать закладку «Конфигурация» в списке выбрать TCP/IP, нажать кнопку «Свойства» и выбрать закладку IP-адрес.
Private Sub Form_Load()
' Имя Winsock-компонента tcpClient.
' Указывая имя удаленного компьютера можно
' указывать IP-адрес (например: "121.111.1.1") или
' дружественное имя, как в нижеприведенном коде.
tcpClient.RemoteHost = "RemoteComputerName" 'или "121.111.1.1"
tcpClient.RemotePort = 1001
End Sub
Private Sub cmdConnect_Click()
' Вызвать метод Connect для создания соединения
tcpClient.Connect
End Sub
Private Sub txtSend_Change()
tcpClient.SendData txtSend.Text
End Sub
Private Sub tcpClient_DataArrival (ByVal bytesTotal As Long)
Dim strData As String
tcpClient.GetData strData
txtOutput.Text = strData
End Sub
Сохраните проект в отдельной директории. Код приведенный выше — это простейшее клиент-серверное приложение. Чтобы попробовать, как это все работает на одной машине в связке, имитирующей межмашинное соединение, значение свойства RemoteHost приложения-клиента должно соответствовать дружественному имени или IP-адресу вашего компьютера. Запустите проект и нажмите кнопку «Connect». После этого наберите текст внутри текстового поля txtSendData на каждой форме и убедитесь, что тот же самый текст появится в текстовом поле txtOutput другой формы.
Если Вы хотите, попробовать, как приложения будут осуществлять связь между двумя компьютерами, то Вам прийдется произвести следующие действия:
- Удалить из кода формы приложения-сервера строку frmClient.Show.
- В окне Project Explorer щелкнуть правой кнопкой мыши на форме frmClient.frm и в появившемся меню выбрать Remove frmClient.frm после чего сохранить проект под именем Server1.
- Открыть первый вариант проекта и таким же образом удалить из проекта уже форму frmServer.frm.
- Создать exe модуль для frmClient-а и переписать его на удаленный компьютер и запустить его там.
Примечание: если на удаленном компьютере не установлен VB будьте готовы к тому, что вам потребуется переписать на него из WINDOWS\SYSTEM\mswinsck.ocx и зарегистрировать его при помощи команды WINDOWS\SYSTEM\regsvr32.exe mswinsck.ocx
Если приложение будет требовать какие-то дополнительные dll модули перепишите их со своей машины на удаленную.
- На своей машине, откройте проект Server и запустите его.
- На клиентской машине нажмите кнопку Connect и наберите текст внутри текстового поля txtSendData на каждой форме и убедитесь, что тот же самый текст появится в текстовом поле txtOutput в приложении, запущенном на другом компьютере.