Hallo, angeblich ist das mit VB.Net nicht möglich (Tante Google), aber
ich frage mal.
Ich empfange mit einem einfachen VB Progrämmchen (ich habe nur sehr
wenig Ahnung von VB.Net, C++, C# oder überhaupt OOP) UDP
Broadcast-Nachrichten. Ich möchte nun die IP und die Portnummer des
Senders feststellen.
Bei einem Microcontroller-System mit W5500 Chip ist da ja möglich. Nur
wir soll das hier gehen? (okay, die Portnummer ist implizit gegeben)
Der Empfang läuft folgendermaßen (nur der Vollständigkeit halber):
1 | Dim UdpReceivingClient = New UdpClient(9999) 'wird auch zum Senden benötigt..
|
2 | UdpReceivingClient.EnableBroadcast = True
|
3 | Dim RemoteIpEndPoint As New IPEndPoint(IPAddress.Any, 9999)
|
4 |
|
5 | endTime = Now.AddMilliseconds(20000) 'Time Out in ms
|
6 | While Now < endTime
|
7 | Application.DoEvents()
|
8 | If UdpReceivingClient.Available Then
|
9 | endTime = Now
|
10 | End If
|
11 | End While
|
12 | If UdpReceivingClient.Available Then
|
13 | Dim Anz As Integer
|
14 | Anz = CInt(UdpReceivingClient.Available)
|
15 | Dim rdata As Byte() = (UdpReceivingClient.Receive(RemoteIpEndPoint))
|
16 | End If
|
Der Empfang der UDP-Nachricht funktioniert.
Nur, wie erhalte ich die IP des Senders?