| Visual Basic (Declaration) | |
|---|---|
<DescriptionAttribute("Receives data into a dynamically instantiated buffer before returning it as an ASCII string.")> Public Overloads Function Receive() As Segment | |
| C# | |
|---|---|
[DescriptionAttribute("Receives data into a dynamically instantiated buffer before returning it as an ASCII string.")] public Segment Receive() | |
| Managed Extensions for C++ | |
|---|---|
[DescriptionAttribute("Receives data into a dynamically instantiated buffer before returning it as an ASCII string.")] public: Segment* Receive(); | |
| C++/CLI | |
|---|---|
[DescriptionAttribute("Receives data into a dynamically instantiated buffer before returning it as an ASCII string.")] public: Segment^ Receive(); | |
Return Value
A Segment object encapsulating the data received.| Exception | Description |
|---|---|
| System.IO.IOException | The stream is not Readable. |
| System.ArgumentNullException | buffer is null. |
| System.ArgumentOutOfRangeException | offset or count is less than 0. |
| System.ArgumentException | offset + count is greater than the length of buffer. |
| System.Net.Sockets.SocketException | The socket is not connected. |
The following example demonstrates blocking operations using the Tcp component.
| Visual Basic | Copy Code |
|---|---|
Private Sub TcpDemo() ' The following code assumes that good responses are always received from ' the server. More robust code should check each response and handle appropriately. ' Connect to Echo Server Tcp1.Connect("myEchoServer", 7) ' Send some data Tcp1.Send("Hello Server!" + vbCrLf) ' Get response from the server Dim seg As Segment = Tcp1.Receive() Debug.WriteLine(seg.ToString()) ' Send more data Tcp1.Send("You are a swell host" + vbCrLf) ' Get response from the server seg = Tcp1.Receive() Debug.WriteLine(seg.ToString()) 'Close the connection Tcp1.Close() End Sub | |
| C# | Copy Code |
|---|---|
private void TcpDemo() { // The following code assumes that good responses are always received from // the server. More robust code should check each response and handle appropriately. // Connect to Echo Server tcp1.Connect("myEchoServer", 7); // Send some data tcp1.Send("Hello Server!\r\n"); // Get response from the server Segment seg = tcp1.Receive(); Debug.WriteLine(seg.ToString()); // Send more data tcp1.Send("You are a swell host\r\n"); // Get response from the server seg = tcp1.Receive(); Debug.WriteLine(seg.ToString()); //Close the connection tcp1.Close(); } | |
After connecting, data can be received using the Tcp.Recieve method. All Tcp.Receive methods return a Segment object, encapsulating the data received. In order to access the data, simply access the properties of the Segment object returned such as Segment.Buffer (to access the data in a byte array) or Segment.ToString (to access the data as a string).
If the amount of data received from the server exceeds Tcp.ReceiveBufferSize, the Tcp.Receive method will have to be called multiple times until the socket closes.
This method is functionally equivalent to Tcp.Stream.Write().
Target Platforms: Microsoft .NET Framework 2.0