See Also

DatagramEventArgs Class  | DatagramEventArgs Members

Requirements

Platforms: Windows 98, Windows NT 4.0, Windows Millennium Edition, Windows 2000, Windows XP Home Edition, Windows XP Professional, Windows Server 2003 family

Language

Visual Basic

C#

C++

C++/CLI

Show All

See Also Languages PowerTCP SSL Sockets for .NET

Exception Property

Dart.PowerTCP.SslSockets Namespace > DatagramEventArgs Class : Exception Property (DatagramEventArgs)

Gets any exception which occurred during the asynchronous operation.

[Visual Basic]
Public ReadOnly Property Exception As Exception
[C#]
public Exception Exception {get;}
[C++]
public: __property Exception* get_Exception();
[C++/CLI]
public: property Exception^ Exception {    Exception^ get(); }

Return Type

If any exception occurred during the asynchronous operation, this property will contain an Exception object describing the exception.

Remarks

Check this property to tell if an exception occurred during the asynchronous operation. If this property is null, no exception occurred.

The exception property is useful for checking exceptions and handling them appropriately. For example, if a bad command was sent to the server, a ProtocolException may be thrown. You could check this property to see if it was of type ProtocolException, than handle appropriately.

Example

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);
}
                

Requirements

Platforms: Windows 98, Windows NT 4.0, Windows Millennium Edition, Windows 2000, Windows XP Home Edition, Windows XP Professional, Windows Server 2003 family

See Also

DatagramEventArgs Class  | DatagramEventArgs Members


Send comments on this topic.

Documentation version 1.1.2.0.

© 2008 Dart Communications.  All rights reserved.