| Visual Basic (Declaration) | |
|---|---|
<CategoryAttribute("Connection")> <DescriptionAttribute("Provides advanced runtime debugging")> Public Event Trace As SegmentEventHandler | |
| Visual Basic (Usage) | Copy Code |
|---|---|
Dim instance As Tcp Dim handler As SegmentEventHandler AddHandler instance.Trace, handler | |
| C# | |
|---|---|
[CategoryAttribute("Connection")] [DescriptionAttribute("Provides advanced runtime debugging")] public event SegmentEventHandler Trace | |
| Managed Extensions for C++ | |
|---|---|
[CategoryAttribute("Connection")] [DescriptionAttribute("Provides advanced runtime debugging")] public: __event SegmentEventHandler* Trace | |
| C++/CLI | |
|---|---|
[CategoryAttribute("Connection")] [DescriptionAttribute("Provides advanced runtime debugging")] public: event SegmentEventHandler^ Trace | |
The event handler receives an argument of type SegmentEventArgs containing data related to this event. The following SegmentEventArgs properties provide information specific to this event.
| Property | Description |
|---|---|
| Exception | Gets any exception which occurred during the asynchronous operation. |
| Segment | The Segment object referencing the data that was sent or received. |
| State | Gets the object that was included as part of the associated method call. |
| Visual Basic | Copy Code |
|---|---|
Private Sub Tcp1_Trace(ByVal sender As Object, ByVal e As SegmentEventArgs) Handles Tcp1.Trace ' Get the data into a byte array Dim buffer As Byte() = System.Text.Encoding.Default.GetBytes(e.Segment.ToString()) ' Create a FileStream Dim f As New FileStream("C:\test\socketlog.log", FileMode.Append) ' Write the data to the file. f.Write(buffer, 0, buffer.Length) f.Close() End Sub | |
| C# | Copy Code |
|---|---|
private void tcp1_Trace(object sender, SegmentEventArgs e) { // Get the data into a byte array byte[] buffer = System.Text.Encoding.Default.GetBytes(e.Segment.ToString()); // Create a FileStream FileStream f = new FileStream("C:\\test\\socketlog.txt", FileMode.Append); // Write the data to the file. f.Write(buffer, 0, buffer.Length); f.Close(); } | |
This event is raised when commands or data has been sent/received. If you are using a component which uses TCP as the transport protocol a SegmentEventArgs object is passed into the event containing any commands or data sent or received. If you are using a component which uses UDP as the transport protocol a DatagramEventArgs object is passed into the event containing any commands or data sent or received.
The Object.RawTrace event always reports actual data sent/received over the socket. The Count of each segment reflects the number of bytes actually written and received. The Object.Trace event reports data sent/received at a higher level. For example, for the Telnet component, Object.Trace reports data sent/received, but does not report IAC option sequences that are processed by TelnetStream, whereas Object.RawTrace allows you to trace the actual data sent/received, including Telnet option commands.
If you are using the PowerTCP component as a reference, you must create a method to handle the event yourself. For more information on using events using PowerTCP.NET within the Visual Studio.NET environment, see Using Events In PowerTCP.
Target Platforms: Microsoft .NET Framework 2.0