Häufig wird im Diskussionsforum gefragt, wie man mit der Winsock-Komponente Daten von einem Computer zu einem anderen Computer sendet und auch empfängt. Zuerst eine kleine Einführung: Man benötigt zwei Programme:
Server: Client: Für diese Vorgehensweise verwenden wir das TCP/IP-Protokoll des Winsock-Controls. Der Server...Erstellen Sie ein neues Projekt und fügen zunächst die Winsock-Komponente hinzu (Projekt - Komponenten - Microsoft Winsock Control). Nun ziehen Sie die Komponent auf die Form. Benötigt wird weiterhin noch ein Command-Button (Command1), sowie eine MultiLine-TextBox, in der die empfangenen Daten angezeigt werden.Und hier der Codeteil unseres Server-Projekts: Option Explicit Private Sub Form_Load() ' Command1 deaktivieren Command1.Enabled = False ' Port 12345 soll abgehört werden Winsock1.LocalPort = 12345 ' Abhör-Vorgang starten Winsock1.Listen End Sub ' Wenn ein Computer versucht eine Verbindung mit dem ' Server aufzubauen Private Sub Winsock1_ConnectionRequest( _ ByVal requestID As Long) ' Das Abhören wird beendet Winsock1.Close ' Die Verbindung wird akzeptiert Winsock1.Accept requestID ' Command1 anschalten damit man die Nachricht ' senden kann Command1.Enabled = True End Sub ' Wenn Daten ankommen Private Sub Winsock1_DataArrival(ByVal bytesTotal As Long) Dim sData As String ' Die ankommenden Daten werden in einer Variable ' (strDaten) gespeichert Winsock1.GetData sData ' Und in einer MutliLine-TextBox ausgegeben With txtMsg .SelStart = Len(.Text) .SelText = sData End With End Sub Private Sub Command1_Click() ' Nachricht wird zum Client gesendet Winsock1.SendData "Hallo Client!" End Sub ' Wenn die Verbindundung getrennt wird Private Sub Winsock1_Close() ' Command1 ausschalten Command1.Enabled = False End Sub Und nun zum Client...Starten Sie eine neue Instanz der VB-IDE und erstellen ein weiteres Projekt. Auch hier wird wieder das Winsock-Control benötigt (Projekt - Komponenten - Microsoft Winsock Control). Ziehen Sie dieses auf die Form und zusätzlich noch einen Command-Button (Command1).Der Codeteil des Clients sieht wie folgt aus: Option Explicit Private Sub Form_Load() Dim ServerIP As String ' Command1 deaktivieren Command1.Enabled = False ' Die IP-Adresse oder Computer-Name des Servers ServerIP = "MyComputer" ' 1. Parameter: Computername /-ip ' 2. Parameter: Portnummer Winsock1.Connect ServerIP, 12345 End Sub ' Wenn eine direkte Verbindung aufgebaut ist Private Sub Winsock1_Connect() ' Jezt können wir mit dem Button die Nachricht senden Command1.Enabled = True End Sub Private Sub Command1_Click() ' Nachricht an Server senden Winsock1.SendData "Hallo Server!" End Sub ' Wenn die Verbindung geschlossen wird Private Sub Winsock1_Close() ' Ohne Verbindung kann man auch keine ' Nachrichten senden: Button Aus Command1.Enabled = False End Sub
Dieser Tipp wurde bereits 107.394 mal aufgerufen. Voriger Tipp | Zufälliger Tipp | Nächster Tipp
Anzeige
Diesen und auch alle anderen Tipps & Tricks finden Sie auch auf unserer aktuellen vb@rchiv Vol.6 (einschl. Beispielprojekt!) Ein absolutes Muss - Geballtes Wissen aus mehr als 8 Jahren vb@rchiv! - nahezu alle Tipps & Tricks und Workshops mit Beispielprojekten - Symbol-Galerie mit mehr als 3.200 Icons im modernen Look Weitere Infos - 4 Entwickler-Vollversionen (u.a. sevFTP für .NET), Online-Update-Funktion u.v.m. |
sevISDN 1.0 Überwachung aller eingehender Anrufe! Die DLL erkennt alle über die CAPI-Schnittstelle eingehenden Anrufe und teilt Ihnen sogar mit, aus welchem Ortsbereich der Anruf stammt. Weitere Highlights: Online-Rufident, Erkennung der Anrufbehandlung u.v.m. Tipp des Monats April 2024 Skyfloy Chart von Microsoft und dazu noch gratis Tutorial für Microsoft Chart Controls für Microsoft .NET Framework 3.5 Neu! sevCoolbar 3.0 Professionelle Toolbars im modernen Design! Mit sevCoolbar erstellen Sie in wenigen Minuten ansprechende und moderne Toolbars und passen diese optimal an das Layout Ihrer Anwendung an (inkl. große Symbolbibliothek) - für VB und MS-Access |
||||||||||||||||
Microsoft, Windows und Visual Basic sind entweder eingetragene Marken oder Marken der Microsoft Corporation in den USA und/oder anderen Ländern. Weitere auf dieser Homepage aufgeführten Produkt- und Firmennamen können geschützte Marken ihrer jeweiligen Inhaber sein. |