ACC2000: Dva příklady používajícími Winsock prvku ActiveX

Překlady článku Překlady článku
ID článku: 209905 - Produkty, které se vztahují k tomuto článku.
Upřesnit: Vyžaduje poradce kódování, spolupráce a víceuživatelském dovednosti.

Tento článek se týká pouze databáze aplikace Microsoft Access (MDB).

Rozbalit všechny záložky | Minimalizovat všechny záložky

Na této stránce

Souhrn

Tento článek obsahuje dva příklady použití ovládacího prvku Winsock ActiveX nainstalován Microsoft Office 2000 Developer Edition Tools.

Další informace

Ovládací prvek Winsock umožňuje připojení vzdáleného počítače a výměnu dat mezi počítači klienta a serveru. Ovládací prvek Winsock podporuje dva protokoly: Transmission Control Protocol (TCP) a User Datagram Protocol (UDP).

TCP je protokol založený na připojení. Je běžné analogie používá k popisu TCP, telefonu. V tomto analogie musí volajícím navázat připojení na obou koncích telefonní linky před jejich výměnu informací. Počítače pomocí TCP musí obdržet potvrzení z přijímajícího počítače, které bylo připojení vytvořeno před dva počítače mohou přenášet data.

UDP je nespojovaný protokol. Je běžné analogie používá k popisu UDP, rádia. V této analogie rozhlasové stanice vysílá jeho signál bez znalosti pro jistotu, že pokud kdokoli naslouchá. Počítače pomocí UDP odešle data a nevyžaduje připojení s počítačem na přijímajícím konci přenosu.

Příklad 1 - použití prvku ActiveX Winsock s TCP

Tento příklad používá stejný počítač odesílat i přijímat data. Vytvořit formulář s tři ovládací prvky Winsock. Jeden ovládací prvky emuluje prostředí klientského počítače odeslat žádost o připojení k serveru. Prostředí v počítači serveru emulovat dva ovládací prvky: jeden ovládací prvek naslouchá požadavek na připojení a druhý přijme požadavek při pochází.
  1. Vytvoření nové prázdné databáze s názvem WinsockDemo.mdb.
  2. Vytvořte následující nový formulář (není založen na tabulce nebo dotazu) v návrhovém zobrazení:
       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. V nabídce Zobrazit klepněte na Kód.
  4. V části deklarace modulu třídy formuláře zadejte následující řádek:
    Dim wsListen, wsClient, wsServer As Winsock
    					
  5. Zadejte následující postupy.

    Optimálně znázorňující, jak funguje ovládací prvek Winsock mezi klientem a serverem, jsou uvedeny postupy v pořadí, v jakém se objevují.
    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. Uložte a zavřete TCPForm.
  7. TCPForm otevřete ve formulářovém zobrazení a provádět následující úkoly:
    1. Klepněte na tlačítko poslechu spusťte server v naslouchání požadavek na připojení.

      Poznámka: pole zprávy, které se zobrazí označení čekají na serveru pro připojení.
    2. Klepněte na tlačítko Navázat připojení.

      Poznámka: pole zprávu z klienta, ověření připojení bylo úspěšné a pole zprávy ze serveru ověřování požadavek byl přijat.
    3. Tlačítko Odeslat Data a poznamenejte si klienta zprávu "Ahoj" se zobrazí textové pole na formuláři.
    4. Klepněte na tlačítko Odpovědět a Poznámka: "Děkujeme pro zprávu!" zprávu serveru zobrazena v textovém poli.
    5. Klepněte na tlačítko Zavřít připojení a poznamenejte si políček zprávu z klienta a serveru označující, že připojení bylo uzavřeno.

Příklad 2 - použití prvku ActiveX Winsock s UDP

Tento příklad používá stejný počítač odesílat i přijímat data. Vytvořit formulář s dva ovládací prvky Winsock: jedna z ovládacích prvků emuluje počítač klienta a server emuluje jiného ovládacího prvku.
  1. Vytvoření nové prázdné databáze s názvem WinsockDemo.mdb nebo použití databáze vytvořené v dřívějších příklad.
  2. Vytvořte následující nový formulář (není založen na tabulce nebo dotazu) v návrhovém zobrazení:
       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. V nabídce Zobrazit klepněte na Kód.
  4. V části deklarace modulu třídy formuláře zadejte následující řádek:
    Dim wsClient, wsServer As Winsock
    					
  5. Zadejte následující postupy.

    Optimálně znázorňující, jak funguje ovládací prvek Winsock mezi klientem a serverem, jsou uvedeny postupy v pořadí, v jakém se objevují.
    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. Uložit a zavřít formulář UDPForm.
  7. UDPForm otevřete ve formulářovém zobrazení a tlačítko Odeslat Data.

    Poznámka: v textovém poli zobrazí "Ahoj" Protože toto je nespojovaný přenosu nemají navázat spojení klient server.

Vlastnosti

ID článku: 209905 - Poslední aktualizace: 28. června 2004 - Revize: 2.0
Informace v tomto článku jsou určeny pro produkt:
  • Microsoft Access 2000 Standard Edition
Klíčová slova: 
kbmt kbhowto kbinfo kbusage KB209905 KbMtcs
Strojově přeložený článek
Důležité: Tento článek byl přeložen pomocí software společnosti Microsoft na strojový překlad, ne profesionálním překladatelem. Společnost Microsoft nabízí jak články přeložené překladatelem, tak články přeložené pomocí software na strojový překlad, takže všechny články ve Znalostní databázi (Knowledge Base) jsou dostupné v češtině. Překlad pomocí software na strojový překlad ale není bohužel vždy dokonalý. Obsahuje chyby ve skloňování slov, skladbě vět, nebo gramatice, podobně jako když cizinci dělají chyby při mluvení v češtině. Společnost Microsoft není právně zodpovědná za nepřesnosti, chyby nebo škody vzniklé chybami v překladu, nebo při použití nepřesně přeložených instrukcí v článku zákazníkem. Společnost Microsoft aktualizuje software na strojový překlad, aby byl počet chyb omezen na minimum.
Projděte si také anglickou verzi článku:209905

Dejte nám zpětnou vazbu

 

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