| Dart.PowerTCP.SslSockets Namespace : Datagram Class (Dart.PowerTCP.SslSockets) | 
Encapsulates a UDP datagram.
For a list of all members of this type, see Datagram members.
System.Object
   Dart.PowerTCP.SslSockets.Datagram
[Visual Basic]
Public Class Datagram [C#]
public class Datagram [C++]
public __gc class Datagram [C++/CLI]
public ref class Datagram When datagrams are sent or received using the Udp component, a Datagram object is returned describing the datagram sent. This Datagram object may be returned directly from the method (which is the case when using Send or Receive) or it may be part of associated event data (which is the case when using BeginSend or Udp.BeginReceive).
Access the properties of the Datagram object to get information about the datagram sent/received. For example, Buffer contains the actual datagram data. RemoteEndPoint contains the address/port of the remote host to which the datagram was sent or from which the datagram was received.
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);
}
                Namespace: Dart.PowerTCP.SslSockets
Platforms: Windows 98, Windows NT 4.0, Windows Millennium Edition, Windows 2000, Windows XP Home Edition, Windows XP Professional, Windows Server 2003 family
Assembly: Dart.PowerTCP.SslSockets (in Dart.PowerTCP.SslSockets.dll)
Datagram Members | Dart.PowerTCP.SslSockets Namespace
Send comments on this topic.
Documentation version 1.1.2.0.
© 2008 Dart Communications. All rights reserved.