| Dart.PowerTCP.SslSockets Namespace > Datagram Class : Buffer Property (Datagram) | 
The buffer containing the data that was sent/received.
[Visual Basic]
Public ReadOnly Property Buffer As Byte()[C#]
public byte[] Buffer {get;}[C++]
public: __property byte[]* get_Buffer();A byte array containing data that was sent/received over the socket.
When using the Tcp component, using Send or Receive will return a Segment object. The data sent/received is available through Buffer.
When using the Udp component, using Send or Receive will return a Datagram object. The data sent/received is available through Buffer.
When using other PowerTCP components, a Segment or Datagram object (which one depends on if TCP or UDP is used as the transport protocol) is made available to describe data sent or received, often in a Trace event. The Buffer or Buffer property contains the actual data sent or 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);
}
                Platforms: Windows 98, Windows NT 4.0, Windows Millennium Edition, Windows 2000, Windows XP Home Edition, Windows XP Professional, Windows Server 2003 family
Datagram Class | Datagram Members
Send comments on this topic.
Documentation version 1.1.2.0.
© 2008 Dart Communications. All rights reserved.