ACC2000: Twee voorbeelden die het ActiveX-besturingselement Winsock gebruiken

Vertaalde artikelen Vertaalde artikelen
Artikel ID: 209905 - Bekijk de producten waarop dit artikel van toepassing is.
Geavanceerd: Expert codering, interoperabiliteit en meerdere gebruikers vaardigheden vereist.

Dit artikel geldt alleen voor Microsoft Access-database (. mdb).

Alles uitklappen | Alles samenvouwen

Op deze pagina

Samenvatting

Dit artikel bevat twee voorbeelden van het gebruik van de Winsock-ActiveX besturings element met de programma's Microsoft Office 2000 Developer Edition geïnstalleerd.

Meer informatie

De Winsock-besturingselement kunt u verbinding maken met een externe computer en gegevens uitwisselen tussen client en server computers. Winsock besturings element ondersteunt twee protocollen: TCP (Trans mission Control Protocol) en User Datagram Protocol (UDP).

TCP is een protocol op basis van een verbinding. Een gemeenschappelijke analogie voor het beschrijven van TCP is die van een telefoon. In deze analogie bellers moeten stellen een verbinding aan beide uiteinden van de telefoon lijn voordat ze kunnen worden uitgewisseld informatie. Een computer met TCP moet bevestiging ontvangt van de ontvang ende computer die een verbinding is gemaakt voordat de twee computers gegevens kunnen overbrengen.

UDP is een verbindingsloos protocol. Een gemeenschappelijke analogie voor het beschrijven van UDP is die van een radio. In deze analogie zendt een radiostation zijn signaal zonder te weten zeker als iedereen luistert. Een computer met UDP-gegevens worden verzonden en hoeft niet een verbinding met de computer op de einde van de overdracht ontvangen.

Voorbeeld 1 - het ActiveX-besturingselement Winsock met TCP

In dit voorbeeld wordt dezelfde computer verzenden en ontvangen van gegevens. U Maak een formulier met drie besturings elementen voor Winsock. Een van de besturings elementen worden geëmuleerd de client computer omgeving voor het verzenden van een verbindingsaanvraag aan een server. De andere twee besturings elementen emuleren de omgeving op een server computer: een besturings element voor een verbindingsaanvraag en de andere luistert het verzoek accepteert als het gaat.
  1. Maak een nieuwe lege data base met de naam WinsockDemo.mdb.
  2. Maak het volgende nieuwe formulier (niet gebaseerd op een tabel of query) in de ontwerpweergave:
       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. Op deWeergavemenu, klikt u opCode.
  4. Typ de volgende regel in de declaratie sectie van het formulier klassemodule:
    Dim wsListen, wsClient, wsServer As Winsock
    					
  5. Typ de volgende procedures.

    Optimaal illustreren hoe het besturings element Winsock tussen client en server werkt, worden de procedures vermeld in de volg orde waarin ze plaats vinden.
    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. Opslaan en sluiten TCPForm.
  7. TCPForm in de formulier weergave openen en de volgende taken uitvoeren:
    1. Klik op deLuisterenom te beginnen met de server in het luisteren naar een verbindingsaanvraag.

      Opmerking in het bericht vak dat verschijnt om aan te geven dat de server wacht op een verbinding.
    2. Klik op deVerbinding makenknop.

      Let op het bericht van de client te controleren dat de verbinding voltooid is en het bericht van de server verifiëren dat de aanvraag is geaccepteerd.
    3. Klik op deGegevens verzendenknop en let op de client "Hallo" verschijnt in het tekstvak op het formulier.
    4. Klik op deReagerenknop, en dat de server bericht 'Hartelijk dank voor het bericht!' wordt weer gegeven in het vak Opmerking.
    5. Klik op deVerbinding sluitenknop en Opmerking de bericht vakken uit zowel de client als de server die aangeeft dat de verbindingen hebben gesloten.

Voorbeeld 2 - gebruik van het ActiveX-besturingselement Winsock met UDP

In dit voorbeeld wordt dezelfde computer verzenden en ontvangen van gegevens. U een formulier maken met twee besturings elementen Winsock: een van de besturings elementen emuleert de emuleert de server clientcomputer en het andere besturings element.
  1. Maak een nieuwe lege data base met de naam WinsockDemo.mdb of de data base die u hebt gemaakt in het vorige voorbeeld.
  2. Maak het volgende nieuwe formulier (niet gebaseerd op een tabel of query) in de ontwerpweergave:
       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. Op deWeergavemenu, klikt u opCode.
  4. Typ de volgende regel in de declaratie sectie van het formulier klassemodule:
    Dim wsClient, wsServer As Winsock
    					
  5. Typ de volgende procedures.

    Optimaal illustreren hoe het besturings element Winsock tussen client en server werkt, worden de procedures vermeld in de volg orde waarin ze plaats vinden.
    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. Opslaan en sluiten van het formulier UDPForm.
  7. UDPForm openen in de formulier weergave en klikt u op deGegevens verzendenknop.

    Het tekstvak wordt weer gegeven "Hello". Omdat dit een verbindingsloos transmissie is, hoeft u niet voor een client / server-verbinding.

Eigenschappen

Artikel ID: 209905 - Laatste beoordeling: maandag 28 februari 2011 - Wijziging: 2.0
De informatie in dit artikel is van toepassing op:
  • Microsoft Access 2000 Standard Edition
Trefwoorden: 
kbhowto kbinfo kbusage kbmt KB209905 KbMtnl
Automatisch vertaald artikel
BELANGRIJK: Dit artikel is vertaald door de vertaalmachine software van Microsoft in plaats van door een professionele vertaler. Microsoft biedt u professioneel vertaalde artikelen en artikelen vertaald door de vertaalmachine, zodat u toegang heeft tot al onze knowledge base artikelen in uw eigen taal. Artikelen vertaald door de vertaalmachine zijn niet altijd perfect vertaald. Deze artikelen kunnen fouten bevatten in de vocabulaire, zinsopbouw en grammatica en kunnen lijken op hoe een anderstalige de taal spreekt en schrijft. Microsoft is niet verantwoordelijk voor onnauwkeurigheden, fouten en schade ontstaan door een incorrecte vertaling van de content of het gebruik ervan door onze klanten. Microsoft past continue de kwaliteit van de vertaalmachine software aan door deze te updaten.
De Engelstalige versie van dit artikel is de volgende:209905

Geef ons feedback

 

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