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

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.

209905
Tento článek byl archivován. Je nabízen v takovém stavu, v jakém je, a nebude již nadále aktualizován.
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).

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 = 99End SubPrivate Sub cmdListen_Click()   ' Start the server listening for a connection request.   wsListen.Listen   Msgbox "Server is waiting for a connection request."End SubPrivate Sub cmdConnect_Click()   ' The client requests a connection with the server.   Msgbox "Client requested connection with server."   wsClient.ConnectEnd SubPrivate 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 SubPrivate 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 SubPrivate Sub cmdSend_Click()   ' After a connection is established, use a command button to send   ' data from client to server.   wsClient.SendData "Hello"End SubPrivate 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 = strClientMsgEnd SubPrivate Sub cmdRespond_Click()   ' Send a message from the server to the client.   wsServer.SendData "Thanks for the message!"End SubPrivate 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 = strServerMsgEnd SubPrivate Sub cmdClose_Click()   ' Close the server connections   wsServer.Close   wsListen.Close   Msgbox "Server connections closed."End SubPrivate 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 1007End SubPrivate Sub CmdSend_Click()   ' Send a broadcast message from the server.   wsServer.SendData "Hello"End SubPrivate 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 = strServerMsgEnd 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.
ODE

Upozornění: Tento článek byl přeložen automaticky

Vlastnosti

ID článku: 209905 - Poslední kontrola: 01/11/2015 02:04:54 - Revize: 2.0

  • Microsoft Access 2000 Standard Edition
  • kbnosurvey kbarchive kbmt kbhowto kbinfo kbusage KB209905 KbMtcs
Váš názor