Public Shared messageReceived As Boolean = False
Public Shared Sub ReceiveCallback(ByVal ar As IAsyncResult)
Dim u As UdpClient = CType((CType(ar.AsyncState, UdpState)).u, UdpClient)
Dim e As IPEndPoint = CType((CType(ar.AsyncState, UdpState)).e, IPEndPoint)
Dim receiveBytes As Byte() = u.EndReceive(ar, e)
Dim receiveString As String = Encoding.ASCII.GetString(receiveBytes)
Console.WriteLine("Received: {0}", receiveString)
messageReceived = True
End Sub
Public Shared Sub ReceiveMessages()
' Receive a message and write it to the console.
Dim e As IPEndPoint = New IPEndPoint(IPAddress.Any, listenPort)
Dim u As UdpClient = New UdpClient(e)
Dim s As UdpState = New UdpState()
s.e = e
s.u = u
Console.WriteLine("listening for messages")
u.BeginReceive(New AsyncCallback(AddressOf ReceiveCallback), s)
' Do some work while we wait for a message. For this example,
' we'll just sleep
Do While Not messageReceived
Thread.Sleep(100)
Loop
End Sub