UdpPeer is simple control which provides the most functionality for the User Datagram Protocol (UDP). UdpPeer control simplifies the dealing with UDP in Windows applications using declarative manner.
UDP is a protocol that works in session layer, it helps us to send the data. Although it's unreliable, but it provides two major functionalities - Multicast and Broadcast.
For network programmers who did many applications - I'm one of them - .NET provides a set of APIs in
System.NET namespace to help us in doing this stuff!! Moreover, we spend a lot of tedious code for sending data using UDP.
This is a sample code that uses UDP:
Dim client As New UdpClient()
Dim data() As Byte = Encoding.ASCII.GetBytes("Hello UdpPeer Control!!")
Dim thread As New Thread(New ThreadStart(AddressOf Receive))
Dim server As New UdpClient(1000)
Dim iep As IPEndPoint = Nothing
Dim data() As Byte = server.Receive(iep)
As we saw before, much of the code is just sending & receiving data. That code made me bored because whenever I wrote a network program, I did that?!!
So, I 'll encourage you to use UdpPeer control to save your time whenever you write any kind of network programs that need UDP programming. The code underneath is the same program which I wrote it before, but this time using UdpPeer control.
Using the Code
UdpPeer1.Send("Hello UdpPeer Control!!")
Private Sub UdpPeer1_DataArrival(ByVal sender As Object, _
ByVal e As UdpEventArgs) Handles UdpPeer1.DataArrival
Wow!! What a nice code. Easier... cleaner all of this with few lines of code.
There's no magic beyond that, almost all things are declarative.
IPAddress is an IP for the UDP Peer.
Port is an a port for the UDP Peer.
Type is UDP Peer type (Client/Server).
Start is a method which starts listening for incoming messages in the receiver, and binds the
Port in the sender.
Send is a method that accepts the
string which you want to send.
DataArrival is an event that occurs whenever a data comes from the sender, and the actual data is stored in
e.Message, which is a property for the
Points of Interest
- Simplifies dealing with UDP in a way that has never been seen before
- Building the components in .NET is much easier as I think
- UdpPeer Control version 1.0 which contains the basic functionality to UDP including sending & receiving data (Unicast, Multicast and Broadcast)