Click here to Skip to main content
15,884,473 members
Articles / Desktop Programming / Windows Forms

UdpPeer Control

Rate me:
Please Sign up or sign in to vote.
4.38/5 (8 votes)
26 Feb 2011CPOL2 min read 29.7K   1.1K   12   6
Control that provides the basic functionality of the UDP

Introduction

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.

Background

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:

VB.NET
'Sending
Dim client As New UdpClient()
client.Connect("127.0.0.1", 1000)
Dim data() As Byte = Encoding.ASCII.GetBytes("Hello UdpPeer Control!!")
client.Send(data, data.Length)

'Receiving
Dim thread As New Thread(New ThreadStart(AddressOf Receive))
Thread.Start()

Sub Receive()
    Dim server As New UdpClient(1000)
    Dim iep As IPEndPoint = Nothing
    While True
        Dim data() As Byte = server.Receive(iep)
        MessageBox.Show(Encoding.ASCII.GetString(data))
    End While
End Sub

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

VB.NET
'Sending
UdpPeer1.Start()
UdpPeer1.Send("Hello UdpPeer Control!!")
'Receiving
Private Sub UdpPeer1_DataArrival(ByVal sender As Object, _
	ByVal e As UdpEventArgs) Handles UdpPeer1.DataArrival
   MessageBox.Show(e.Message)
End Sub

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.

UdpPeer Members

  • 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 IPAddress & 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 UdpEventArgs.

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

History

  • UdpPeer Control version 1.0 which contains the basic functionality to UDP including sending & receiving data (Unicast, Multicast and Broadcast)

License

This article, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)



Comments and Discussions

 
QuestionSource for DLL? Pin
MTEXX.Again3-Jan-12 5:44
MTEXX.Again3-Jan-12 5:44 

General General    News News    Suggestion Suggestion    Question Question    Bug Bug    Answer Answer    Joke Joke    Praise Praise    Rant Rant    Admin Admin   

Use Ctrl+Left/Right to switch messages, Ctrl+Up/Down to switch threads, Ctrl+Shift+Left/Right to switch pages.