See Also

SegmentEventArgs Members  | Dart.PowerTCP.SslSockets Namespace

Requirements

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)

Language

Visual Basic

C#

C++

C++/CLI

Show All

See Also Requirements Languages PowerTCP SSL Sockets for .NET

SegmentEventArgs Class

Dart.PowerTCP.SslSockets Namespace : SegmentEventArgs Class

Provides data for any event where data is sent or received.

For a list of all members of this type, see SegmentEventArgs members.

Object Model


Inheritance Hierarchy

System.Object
   System.EventArgs
      Dart.PowerTCP.SslSockets.SegmentEventArgs

Syntax

[Visual Basic]
Public Class SegmentEventArgs    Inherits EventArgs
[C#]
public class SegmentEventArgs : EventArgs
[C++]
public __gc class SegmentEventArgs : public EventArgs
[C++/CLI]
public ref class SegmentEventArgs : public EventArgs

Remarks

A SegmentEventArgs object is passed as a parameter to all events that report the transfer of data. This object contains a Segment object that references the data sent/received.

If your code causes an exception, it would be returned to the handling event without you seeing it. To preclude such a condition, you should ALWAYS use a try/ catch block around your event-handling code.

Example

The following example demonstrates asynchronous receiving and sending of data.

[Visual Basic] 

Private Sub AsynchTcpDemo()

   ' Attempt to connect to an echo port.
   Try
      Tcp1.Connect("myserver", 7)
   Catch ex As Exception
      Return
   End Try

   ' Send data, since we are connected to an echo port, the same data should be returned.
   ' The following code demonstrates asynchronously sending data. When data has been sent
   ' the EndSend event will be raised.

   Dim buffer() As Byte = System.Text.Encoding.Default.GetBytes("a")
   Tcp1.BeginSend(buffer, 0, buffer.Length, Net.Sockets.SocketFlags.None, Nothing)
End Sub

Private Sub Tcp1_EndSend(ByVal sender As Object, ByVal e As Dart.PowerTCP.SegmentEventArgs) Handles Tcp1.EndSend
   ' Check for exception
   If e.Exception Is Nothing Then

      ' Send is complete. Display info about the data sent.
      Debug.WriteLine("Byte count sent: " + e.Segment.Count)
      Debug.WriteLine("Data sent: " + e.Segment.ToString())

      Dim buffer(Tcp1.ReceiveBufferSize) As Byte

      ' Receive the data. The EndReceive event will be raised upon completion.
      Tcp1.BeginReceive(buffer, 0, buffer.Length, Net.Sockets.SocketFlags.None, Nothing)

    End If
End Sub

Private Sub Tcp1_EndReceive(ByVal sender As Object, ByVal e As Dart.PowerTCP.SegmentEventArgs) Handles Tcp1.EndReceive
   ' Check for exception
   If e.Exception Is Nothing Then

      ' Receive is complete. Display info about the data sent.
      Debug.WriteLine("Byte count received: " + e.Segment.Count)
      Debug.WriteLine("Data received: " + e.Segment.ToString())

      ' Close the connection
      Tcp1.Close()
    End If
End Sub

[C#] 


private void AsynchTcpDemo()
{
   
// Attempt to connect to an echo port.
   
try
   {
       
tcp1.Connect("myserver", 7);
   }
   
catch(Exception ex)
   {
return;}

   
// Send data, since we are connected to an echo port, the same data should be returned.
   
// The following code demonstrates asynchronously sending data. When data has been sent
   
// the EndSend event will be raised.

   
byte[] buffer = System.Text.Encoding.Default.GetBytes("a");
   tcp1.BeginSend(buffer, 0, buffer.Length, System.Net.Sockets.SocketFlags.None,
null);
}

private void tcp1_EndSend(object sender, Dart.PowerTCP.SegmentEventArgs e)
{
   
// Check for exception
   
if(e.Exception == null)
   {
       
// Send is complete. Display info about the data sent.
       
Debug.WriteLine("Byte count sent: " + e.Segment.Count);
       Debug.WriteLine(
"Data sent: " + e.Segment.ToString());
               

       
byte[] buffer = new byte[tcp1.ReceiveBufferSize];
                   
       
// Receive the data. The EndReceive event will be raised upon completion.
       
tcp1.BeginReceive(buffer, 0, buffer.Length, System.Net.Sockets.SocketFlags.None, null);
   }
}

private void tcp1_EndReceive(object sender, Dart.PowerTCP.SegmentEventArgs e)
{
   
// Check for exception
   
if(e.Exception == null)
   {
       
// Receive is complete. Display info about the data sent.
       
Debug.WriteLine("Byte count received: " + e.Segment.Count);
       Debug.WriteLine(
"Data received: " + e.Segment.ToString());

       
// Close the connection
       
tcp1.Close();
   }
}
                

Requirements

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)

See Also

SegmentEventArgs Members  | Dart.PowerTCP.SslSockets Namespace

 

Send comments on this topic.

Documentation version 1.1.2.0.

© 2008 Dart Communications.  All rights reserved.