Dart.PowerTCP.EmailValidation Namespace > DatagramEventArgs Class : Datagram Property (DatagramEventArgs) |
Gets the Datagram object that represents the datagram for which the event was raised.
[Visual Basic]
Public ReadOnly Property Datagram As Datagram
[C#]
public Datagram Datagram {get;}
[C++]
public: __property Datagram* get_Datagram();
When the Udp.EndSend or Udp.EndReceive events are raised signifying that a datagram has been sent or received, the DatagramEventArgs.Datagram property returns the Datagram object representing the datagram for which the event was raised.
The following example demonstrates creating a UDP echo server application which listens for datagrams and echoes them back to the sender.
[Visual Basic]
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
' Listen for datagrams on port 7.
Udp1.Open(7)
' Begin an asynchronous Receive
Dim buffer(Udp1.BufferSize) As Byte
Udp1.BeginReceive(buffer)
End Sub
Private Sub Udp1_EndReceive(ByVal sender As Object, ByVal e As DatagramEventArgs) Handles Udp1.EndReceive
' Check for an Exception
If e.Exception is Nothing Then
' Echo the data back using the Datagram object passed into the event.
' Datagram.Buffer = data received from client
' Datagram.RemoteEndPoint = address/port of client.
Udp1.Send(e.Datagram.Buffer, e.Datagram.RemoteEndPoint)
End If
' Start receiving next
Dim buffer(Udp1.BufferSize) As Byte
Udp1.BeginReceive(buffer)
End Sub
[C#]
private void StartServer()
{
// Listen for datagrams on port 7.
udp1.Open(7);
// Begin an asynchronous Receive
byte[] buffer = new byte[udp1.BufferSize];
udp1.BeginReceive(buffer);
}
private void udp1_EndReceive(object
sender, DatagramEventArgs e)
{
// Check for an exception
if(e.Exception == null)
{
// Echo the data back using the Datagram object passed into the event.
// Datagram.Buffer = data received from client
// Datagram.RemoteEndPoint = address/port of client.
Datagram d = udp1.Send(e.Datagram.Buffer, e.Datagram.RemoteEndPoint);
}
// Start receiving next
byte[] buffer = new byte[udp1.BufferSize];
udp1.BeginReceive(buffer);
}
Platforms: Windows 98, Windows NT 4.0, Windows ME, Windows 2000, Windows XP, Windows Server 2003, Windows Vista
DatagramEventArgs Class | DatagramEventArgs Members
Send comments on this topic.
Documentation version 1.0.3.0.
© 2008 Dart Communications. All rights reserved.