vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
Zippen wie die Profis!  
 vb@rchiv Quick-Search: Suche startenErweiterte Suche starten   Impressum  | Datenschutz  | vb@rchiv CD Vol.6  | Shop Copyright ©2000-2024
 
zurück
Rubrik: HTML/Internet/Netzwerk · Winsock   |   VB-Versionen: VB4, VB5, VB622.10.02
Datenaustausch über Winsock (UDP)

Ein Beispiel, das zeigt, wie sich Daten über das Winsock-Control mit dem UDP-Protokoll versenden und empfangen lassen.

Autor:   Nino RaubaumBewertung:     [ Jetzt bewerten ]Views:  55.106 
ohne HomepageSystem:  Win9x, WinNT, Win2k, WinXP, Win7, Win8, Win10, Win11 Beispielprojekt auf CD 

Vor kurzem haben wir Ihnen ein Beispiel gezeigt, wie sich mit dem Winsock-Control Daten über das TCP/IP-Protokoll versenden und empfangen lassen. Das Winsock-Control unterstützt aber auch das UDP-Protokoll. Und wie sich Daten über das UDP-Protokoll austauschen lassen, erfahren Sie nachfolgend.

Wieder werden zwei Programme benötigt. Aber diesmal gibt es keinen Server oder Client, denn beim UTP-Verfahren muss keiner der beiden Programme als erstes eine Verbindung aufbauen, bevor man Daten senden oder empfangen kann.

Das ist wahrscheinlich auch der Hauptgrund, warum UTP ein nicht gerade sichers Verfahren ist, um Daten auszutauschen, denn:

  1. Der Sender braucht keine Erlaubnis, um die Daten zum Empfänger zu senden und
  2. Es gibt keine Bestätigung, ob die Daten auch wirklich angekommen sind.

Beim UTP-Verfahren muss folgende Informationen bekannt sein, ehe man einen Sendevorgang starten kann:

  1. An welchen Computer sollen die Daten versandt werden?
  2. Welcher Port soll verwendet werden?

Der Server / Client....
Erstellen Sie ein neues Projekt und fügen Sie die Winsock-Komponent über Projekt - Komponenten (Microsoft Winsock Control) ein. Ziehen Sie nun das Winsock-Control auf die Form und stellen Sie in den Eigenschaften das Protokoll auf UTP. Platzieren Sie weiterhin einen Command-Button (cmdSend) auf die Form, sowie eine MultiLine-TextBox (txtMessage), um empfangene Daten anzuzeigen. Zu guter Schluß wird noch eine weitere "normale" TextBox (txtIP) benötigt, um den Computername bzw. die IP-Adresse des Empfängers einzugeben.

Option Explicit
 
Private Sub Form_Load()
  Dim nPort As Integer
  Dim sOwnIP As String
 
  ' UDP-Protokoll einstellen
  Winsock1.Protocol = sckUDPProtocol
 
  ' Port, der überwacht werden soll
  nPort = 12345
 
  ' Eigene IP ermitteln
  sOwnIP = Winsock1.LocalIP
 
  ' Port an die IP "binden"
  Winsock1.Bind nPort, sOwnIP
End Sub
' Daten senden
Private Sub cmdSend_Click()
  ' Wurde kein Empfänger/IP eingegeben 
  ' darf nicht gesendet werden
  If txtIP.Text = "" Then
    MsgBox "Bevor Sie senden, müssen Sie den Namen oder " & _
      "die IP des Empfängers eingeben!"
  Else
 
    ' Fehlerbehandlung aktivieren
    On Error Goto Err_Handler
 
    With Winsock1
      ' Portnummer, an der die Daten gesendet 
      ' werden sollen
      .RemotePort = 12345
 
      ' Name bzw. IP des Empfängers
      .RemoteHost = txtIP.Text
 
      ' Daten senden
      .SendData "Hallo Empfänger!"
    End With
  End If
  On Error Goto 0
  Exit Sub
 
Err_Handler:
  MsgBox "Fehler: " & Err.Number & vbCrLf & _
    Err.Description
End Sub
' Wenn Daten ankommen...
Private Sub Winsock1_DataArrival(ByVal bytesTotal As Long)
  Dim sData As String
 
  ' Die ankommenden Daten werden in einer Variable
  ' (sDaten) gespeichert...
  Winsock1.GetData sData 
 
  ' ... und in einer MutliLine-TextBox ausgegeben
  With txtMessage
    .SelStart = Len(.Text)
    .SelText = sData
  End With
End Sub

Exakt das gleich Programm wird nun als Empfänger verwendet!

Kopieren Sie das Programm auf 2 unterschiedlichen PCs in Ihrem LAN und starten es. Geben Sie anschließend den Rechnernamen bzw. die IP-Adresse des Empfängers in die TextBox txtIP ein und klicken auf den Button cmdSend.

Jetzt sollte auf dem zweiten Rechner die Nachricht Hallo Empfänger erscheinen.
 

Dieser Tipp wurde bereits 55.106 mal aufgerufen.

Voriger Tipp   |   Zufälliger Tipp   |   Nächster Tipp

Über diesen Tipp im Forum diskutieren
Haben Sie Fragen oder Anregungen zu diesem Tipp, können Sie gerne mit anderen darüber in unserem Forum diskutieren.

Neue Diskussion eröffnen

nach obenzurück


Anzeige

Kauftipp Unser Dauerbrenner!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.
 
   

Druckansicht Druckansicht Copyright ©2000-2024 vb@rchiv Dieter Otter
Alle Rechte vorbehalten.
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.

Diese Seiten wurden optimiert für eine Bildschirmauflösung von mind. 1280x1024 Pixel