ACC2000: Два примера, использующие элемент управления ActiveX Winsock

Переводы статьи Переводы статьи
Код статьи: 209905 - Vizualiza?i produsele pentru care se aplic? acest articol.
Дополнительно: Требует изложенный взаимодействия и многопользовательской навыков.

В данной статье применима только к базе данных Microsoft Access (.mdb).

Развернуть все | Свернуть все

В этой статье

Аннотация

В данной статье представлены два примера использования Winsock ActiveX элемент управления с помощью средств Microsoft Office 2000 Developer Edition.

Дополнительная информация

Элемент управления Winsock позволяет подключаться к удаленному компьютеру и обмен данными между клиентские и серверные компьютеры. Winsock элемент управления поддерживает два протокола: Transmission Control Protocol (TCP) и протокол User Datagram Protocol (UDP).

TCP — это протокол на основе подключения. Распространенные аналогию, используемый для описания TCP в том, что телефон. Эта аналогия вызывающие объекты должны установить подключения на обоих концах телефонной линии, прежде чем они могут обмениваться сведения. Компьютер, используя TCP необходимо получать подтверждения от принимающий компьютер, подключение было установлено до двух компьютеров можно передавать данные.

UDP — это протокол без установления соединения. Распространенные аналогия, используемый для описания UDP радио. В Эта аналогия радиостанция передает сигнал не зная точно, если любой пользователь слушает. Компьютер с помощью UDP отправляет данные и не требует подключения к компьютеру на принимающая сторона передачи.

Пример 1: использование элемента управления ActiveX Winsock с TCP

Чтобы отправлять и получать данные в этом примере используется тот же компьютер. Вы Создание формы с три элемента управления Winsock. Один из элементов эмулирует Клиентская среда компьютера для отправки запроса на подключение к сервер. Два других элемента управления имитировать среду на сервере компьютер: один элемент управления принимает запрос на подключение, а другой Когда речь заходит о принимает запрос.
  1. Создайте новую пустую базу данных с именем WinsockDemo.mdb.
  2. Создайте следующую новую форму (не основан на таблице или запросе) в режиме конструктора:
       Form: TCPForm
       ---------------------------------
       Caption: TCP Form
    
       Command button:
          Name: cmdListen
          Caption: Listen
       Command button:
          Name: cmdConnect
          Caption: Establish Connection
       Command button:
          Name: cmdSend
          Caption: Send Data
       Command button:
          Name: cmdRespond
          Caption: Respond
       Command button:
          Name: cmdClose
          Caption: Close Connection
       Text box:
          Name: Text1
          Label Caption: Data Received:
       Winsock control:
          Name: axWinsockListen
       Winsock control:
          Name: axWinsockClient
       Winsock control:
          Name: axWinsockServer
    					
  3. На Представление меню, нажмите кнопку Код.
  4. В разделе объявлений модуля класса формы введите следующую строку:
    Dim wsListen, wsClient, wsServer As Winsock
    					
  5. Введите следующие процедуры.

    Демонстрация оптимальную работу элемента управления Winsock между клиентом и сервером, процедуры, перечислены в том порядке, в котором они расположены.
    Private Sub Form_Load()
       ' Set one server Winsock control and the client Winsock control
       ' when the form loads.
       Set wsListen = Me!axWinsockListen.Object
       Set wsClient = Me!axWinsockClient.Object
    
       ' Set the protocol for each control.
       wsListen.Protocol = sckTCPProtocol
       wsClient.Protocol = sckTCPProtocol
    
       ' Set the remote host on the client Winsock control. Because
       ' client and server are the same computer in this example, set
       ' RemoteHost equal to LocalIP.
       wsClient.RemoteHost = wsListen.LocalIP
    
       ' Set a local and a remote port for the client.
       wsClient.RemotePort = 100
       wsClient.LocalPort = 99
    
       ' Set a local and a remote port for the server. Note that the
       ' server RemotePort is the client LocalPort and vice versa.
       wsListen.LocalPort = 100
       wsListen.RemotePort = 99
    End Sub
    
    Private Sub cmdListen_Click()
       ' Start the server listening for a connection request.
       wsListen.Listen
       Msgbox "Server is waiting for a connection request."
    End Sub
    
    Private Sub cmdConnect_Click()
       ' The client requests a connection with the server.
       Msgbox "Client requested connection with server."
       wsClient.Connect
    End Sub
    
    Private Sub axWinsockListen_ConnectionRequest(ByVal requestID As _
       Long)
       ' When the server receives a connection request, set the second
       ' Winsock on the server to accept the request.
       Set wsServer = Me!axWinsockServer.Object
       wsServer.Protocol = sckTCPProtocol
    
       ' Accept the connection request.
       wsServer.Accept requestID
       Msgbox "Server accepted client connection request."
    End Sub
    
    Private Sub axWinsockClient_Connect()
       ' When the server accepts the connection request, the Connect
       ' event fires on the client. Display a message indicating success.
       MsgBox "Connection Successful!"
    End Sub
    
    Private Sub cmdSend_Click()
       ' After a connection is established, use a command button to send
       ' data from client to server.
       wsClient.SendData "Hello"
    End Sub
    
    Private Sub axWinsockServer_DataArrival(ByVal bytesTotal As Long)
       Dim strClientMsg As String
    
       ' The DataArrival event fires on the server when the client sends
       ' information. Get the data and display it in a text box.
       wsServer.GetData strClientMsg, vbString
       Me!Text1.Value = strClientMsg
    End Sub
    
    Private Sub cmdRespond_Click()
       ' Send a message from the server to the client.
       wsServer.SendData "Thanks for the message!"
    End Sub
    
    Private Sub axWinsockClient_DataArrival(ByVal bytesTotal As Long)
       Dim strServerMsg As String
    
       ' The DataArrival event fires on the client when the server sends
       ' information. Get the data and display it in a text box.
       wsClient.GetData strServerMsg
       Me!Text1.Value = strServerMsg
    End Sub
    
    Private Sub cmdClose_Click()
       ' Close the server connections
       wsServer.Close
       wsListen.Close
       Msgbox "Server connections closed."
    End Sub
    
    Private Sub axWinsockClient_Close()
       ' Close event on client fires after server closes connection.
       ' Close the client connection and display a message box.
       wsClient.Close
       MsgBox "Client connections closed. Good-Bye!"
    End Sub
    					
  6. Сохраните и закройте TCPForm.
  7. Откройте TCPForm в режиме формы и выполнять следующие задачи:
    1. Нажмите кнопку Прослушивание Кнопка для запуска сервера в прослушивание запросов на подключение.

      Следует иметь в виду окно сообщения, которое отображается, чтобы показать, что сервер ожидает подключения.
    2. Нажмите кнопку Установить соединение Нажатие кнопки.

      Следует иметь в виду, в окне сообщения от клиента, проверка, что подключение выполнено успешно и окно сообщения с сервера, проверка, что запрос был принят.
    3. Нажмите кнопку Отправка данных кнопки и обратите внимание, что клиент сообщение «Hello» отображается в текстовом поле на форме.
    4. Нажмите кнопку Ответить кнопки и обратите внимание, что в текстовом поле выводится сообщение сервера «Спасибо за сообщение!».
    5. Нажмите кнопку Закрытие подключения кнопки и примечание, диалоговые окна сообщения от клиента и сервера, указывающее, что подключения был закрыт.

Пример 2 - Использование элемента управления ActiveX Winsock с UDP

Чтобы отправлять и получать данные в этом примере используется тот же компьютер. Вы Создайте форму с двумя элементами управления Winsock: эмулирует элемента управления клиентский компьютер и элемент управления эмулирует сервера.
  1. Создайте новую пустую базу данных с именем WinsockDemo.mdb, или использовать базу данных, созданную в предыдущем примере.
  2. Создайте следующую новую форму (не основан на таблице или запросе) в режиме конструктора:
       Form: UDPForm
       --------------------------------
       Caption: UDP Form
    
       Command button:
         Name: cmdSend
            Caption: Send Data
         Text box:
            Name: Text1
            Label Caption: Data Received:
         Winsock control:
            Name: axWinsockClient
         Winsock control:
            Name: axWinsockServer
    					
  3. На Представление меню, нажмите кнопку Код.
  4. В разделе объявлений модуля класса формы введите следующую строку:
    Dim wsClient, wsServer As Winsock
    					
  5. Введите следующие процедуры.

    Демонстрация оптимальную работу элемента управления Winsock между клиентом и сервером, процедуры, перечислены в том порядке, в котором они расположены.
    Private Sub Form_Load()
       ' Set the control objects when the form loads.
       Set wsClient = Me!axWinsockClient.Object
       Set wsServer = Me!axWinsockServer.Object
    
       ' Set the protocol for client and server.
       wsClient.Protocol = sckUDPProtocol
       wsServer.Protocol = sckUDPProtocol
    
       ' Set the host and ports for client and server. Because client
       ' and server are the same computer in this example, set RemoteHost
       ' equal to LocalIP.
       wsServer.RemoteHost = wsClient.LocalIP
       wsServer.RemotePort = 1007
       wsClient.Bind 1007
    End Sub
    
    Private Sub CmdSend_Click()
       ' Send a broadcast message from the server.
       wsServer.SendData "Hello"
    End Sub
    
    Private Sub axWinsockClient_DataArrival(ByVal bytesTotal As Long)
       Dim strServerMsg As String
    
       ' When a message arrives from the server, display it in a text
       ' box.
       wsClient.GetData strServerMsg, vbString
       Me!Text1.Value = strServerMsg
    End Sub
    					
  6. Сохраните и закройте форму UDPForm.
  7. Откройте UDPForm в режиме формы и нажмите кнопку Отправка данных Нажатие кнопки.

    Обратите внимание, что в текстовом поле отображается «Hello». Поскольку передачи без установления соединения, нет необходимости устанавливать соединения клиент сервер.

Свойства

Код статьи: 209905 - Последний отзыв: 4 июня 2011 г. - Revision: 4.0
Информация в данной статье относится к следующим продуктам.
  • Microsoft Access 2000 Standard Edition
Ключевые слова: 
kbhowto kbinfo kbusage kbmt KB209905 KbMtru
Переведено с помощью машинного перевода
ВНИМАНИЕ! Перевод данной статьи был выполнен не человеком, а с помощью программы машинного перевода, разработанной корпорацией Майкрософт. Корпорация Майкрософт предлагает вам статьи, переведенные как людьми, так и средствами машинного перевода, чтобы у вас была возможность ознакомиться со статьями базы знаний KB на родном языке. Однако машинный перевод не всегда идеален. Он может содержать смысловые, синтаксические и грамматические ошибки, подобно тому как иностранец делает ошибки, пытаясь говорить на вашем языке. Корпорация Майкрософт не несет ответственности за неточности, ошибки и возможный ущерб, причиненный в результате неправильного перевода или его использования. Корпорация Майкрософт также часто обновляет средства машинного перевода.
Эта статья на английском языке:209905

Отправить отзыв

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com