public class TcpClient : ClientBase
Public Class TcpClient
Inherits ClientBase
public ref class TcpClient : public ClientBase
Gemstone.Communication.TcpClient = function();
Type.createClass(
'Gemstone.Communication.TcpClient',
Gemstone.Communication.ClientBase);
using System;
using GSF;
using GSF.Communication;
using GSF.Security.Cryptography;
using GSF.IO.Compression;
class Program
{
static TcpClient s_client;
static void Main(string[] args)
{
// Initialize the client.
s_client = new TcpClient("Server=localhost:8888");
s_client.Handshake = false;
s_client.PayloadAware = false;
s_client.ReceiveTimeout = -1;
s_client.MaxConnectionAttempts = 5;
s_client.Encryption = CipherStrength.None;
s_client.Compression = CompressionStrength.NoCompression;
s_client.SecureSession = false;
s_client.Initialize();
// Register event handlers.
s_client.ConnectionAttempt += s_client_ConnectionAttempt;
s_client.ConnectionEstablished += s_client_ConnectionEstablished;
s_client.ConnectionTerminated += s_client_ConnectionTerminated;
s_client.ReceiveDataComplete += s_client_ReceiveDataComplete;
// Connect the client.
s_client.Connect();
// Transmit user input to the server.
string input;
while (string.Compare(input = Console.ReadLine(), "Exit", true) != 0)
{
s_client.Send(input);
}
// Disconnect the client on shutdown.
s_client.Dispose();
}
static void s_client_ConnectionAttempt(object? sender, EventArgs e)
{
Console.WriteLine("Client is connecting to server.");
}
static void s_client_ConnectionEstablished(object? sender, EventArgs e)
{
Console.WriteLine("Client connected to server.");
}
static void s_client_ConnectionTerminated(object? sender, EventArgs e)
{
Console.WriteLine("Client disconnected from server.");
}
static void s_client_ReceiveDataComplete(object? sender, EventArgs<byte[], int> e)
{
Console.WriteLine(string.Format("Received data - {0}.", s_client.TextEncoding.GetString(e.Argument1, 0, e.Argument2)));
}
}
TcpClient | Initializes a new instance of the TcpClient class. |
TcpClient(String) | Initializes a new instance of the TcpClient class. |
AllowDualStackSocket | Gets or sets a boolean value that determines if dual-mode socket is allowed when endpoint address is IPv6. |
Client | Gets the Socket object for the TcpClient. |
ConnectionString |
Gets or sets the data required by the client to connect to the server.
(Inherited from ClientBase) |
ConnectionTime |
Gets the Time for which the client has been connected to the server.
(Inherited from ClientBase) |
CurrentState |
Gets the current ClientState.
(Inherited from ClientBase) |
Enabled |
Gets or sets a boolean value that indicates whether the client is currently enabled.
(Inherited from ClientBase) |
IgnoreInvalidCredentials | Gets or sets a boolean value that indicates whether the server should ignore errors when the client's credentials are invalid. |
IntegratedSecurity | Gets or sets a boolean value that indicates whether the current Windows account credentials are used for authentication. |
IsDisposed |
Gets a flag that indicates whether the object has been disposed.
(Inherited from ClientBase) |
MaxConnectionAttempts |
Gets or sets the maximum number of times the client will attempt to connect to the server.
(Inherited from ClientBase) |
MaxSendQueueSize | Gets or sets the maximum size for the send queue before payloads are dumped from the queue. |
Name |
Gets or sets the unique identifier of the server.
(Inherited from ClientBase) |
NetworkCredential | Gets or sets network credential that is used when IntegratedSecurity is set to true. |
NoDelay | Gets or sets a boolean value that determines if small packets are delivered to the remote host without delay. |
PayloadAware | Gets or sets a boolean value that indicates whether the payload boundaries are to be preserved during transmission. |
PayloadEndianOrder | Gets or sets the endian order to apply for encoding and decoding payload size in a PayloadAware transmission. |
PayloadMarker | Gets or sets the byte sequence used to mark the beginning of a payload in a PayloadAware transmission. |
ReadIndex |
Gets or sets current read index for received data buffer incremented at each Read(Byte, Int32, Int32) call.
(Inherited from ClientBase) |
ReceiveBufferSize |
Gets or sets the size of the buffer used by the client for receiving data from the server.
(Inherited from ClientBase) |
SendBufferSize |
Gets or sets the size of the buffer used by the client for sending data to the server.
(Inherited from ClientBase) |
ServerIndex |
Gets the current server index, when multiple server end points are defined.
(Inherited from ClientBase) |
ServerUri |
Gets the server URI of the TcpClient.
(Overrides ClientBaseServerUri) |
Statistics |
Gets the TransportStatistics for the client connection.
(Inherited from ClientBase) |
Status |
Gets the descriptive status of the client.
(Overrides ClientBaseStatus) |
TextEncoding |
Gets or sets the Encoding to be used for the text sent to the server.
(Inherited from ClientBase) |
TrackStatistics |
Determines whether the base class should track statistics.
(Overrides ClientBaseTrackStatistics) |
TransportProtocol |
Gets the TransportProtocol used by the client for the transportation of data with the server.
(Inherited from ClientBase) |
Connect |
Connects the client to the server synchronously.
(Inherited from ClientBase) |
ConnectAsync |
Connects the TcpClient to the server asynchronously.
(Overrides ClientBaseConnectAsync) |
Disconnect |
Disconnects the TcpClient from the connected server synchronously.
(Overrides ClientBaseDisconnect) |
Dispose |
Releases all the resources used by the ClientBase object.
(Inherited from ClientBase) |
Dispose(Boolean) |
Releases the unmanaged resources used by the TcpClient and optionally releases the managed resources.
(Overrides ClientBaseDispose(Boolean)) |
Equals | Determines whether the specified object is equal to the current object. (Inherited from Object) |
Finalize | Allows an object to try to free resources and perform other cleanup operations before it is reclaimed by garbage collection. (Inherited from Object) |
GetHashCode | Serves as the default hash function. (Inherited from Object) |
GetType | Gets the Type of the current instance. (Inherited from Object) |
Initialize |
Initializes the client.
(Inherited from ClientBase) |
MemberwiseClone | Creates a shallow copy of the current Object. (Inherited from Object) |
OnConnectionAttempt |
Raises the ConnectionAttempt event.
(Inherited from ClientBase) |
OnConnectionEstablished |
Raises the ConnectionEstablished event.
(Inherited from ClientBase) |
OnConnectionException |
Raises the ConnectionException event.
(Inherited from ClientBase) |
OnConnectionTerminated |
Raises the ConnectionTerminated event.
(Inherited from ClientBase) |
OnReceiveData |
Raises the ReceiveData event.
(Inherited from ClientBase) |
OnReceiveDataComplete |
Raises the ReceiveDataComplete event.
(Inherited from ClientBase) |
OnReceiveDataException(Exception) |
Raises the ReceiveDataException event.
(Overrides ClientBaseOnReceiveDataException(Exception)) |
OnReceiveDataException(SocketException) | Raises the ReceiveDataException event. |
OnSendDataComplete |
Raises the SendDataComplete event.
(Inherited from ClientBase) |
OnSendDataException |
Raises the SendDataException event.
(Overrides ClientBaseOnSendDataException(Exception)) |
OnSendDataStart |
Raises the SendDataStart event.
(Inherited from ClientBase) |
Read |
Reads a number of bytes from the current received data buffer and writes those bytes into a byte array at the specified offset.
(Overrides ClientBaseRead(Byte, Int32, Int32)) |
RequestNextServerIndex |
Requests that the client attempt to move to the next ServerIndex.
(Overrides ClientBaseRequestNextServerIndex) |
Send(Byte) |
Sends data to the server synchronously.
(Inherited from ClientBase) |
Send(String) |
Sends data to the server synchronously.
(Inherited from ClientBase) |
Send(Byte, Int32, Int32) |
Sends data to the server synchronously.
(Inherited from ClientBase) |
SendAsync(Byte) |
Sends data to the server asynchronously.
(Inherited from ClientBase) |
SendAsync(String) |
Sends data to the server asynchronously.
(Inherited from ClientBase) |
SendAsync(Byte, Int32, Int32) |
Sends data to the server asynchronously.
(Inherited from ClientBase) |
SendDataAsync |
Sends data to the server asynchronously.
(Overrides ClientBaseSendDataAsync(Byte, Int32, Int32)) |
ToString | Returns a string that represents the current object. (Inherited from Object) |
UpdateBytesReceived |
Updates the Statistics pertaining to bytes received.
(Inherited from ClientBase) |
UpdateBytesSent |
Updates the Statistics pertaining to bytes sent.
(Inherited from ClientBase) |
ValidateConnectionString |
Validates the specified connectionString.
(Overrides ClientBaseValidateConnectionString(String)) |
ConnectionAttempt |
Occurs when client is attempting connection to the server.
(Inherited from ClientBase) |
ConnectionEstablished |
Occurs when client connection to the server is established.
(Inherited from ClientBase) |
ConnectionException |
Occurs when an Exception is encountered during connection attempt to the server.
(Inherited from ClientBase) |
ConnectionTerminated |
Occurs when client connection to the server is terminated.
(Inherited from ClientBase) |
Disposed |
Occurs when the ClientBase has been disposed.
(Inherited from ClientBase) |
ReceiveData |
Occurs when unprocessed data has been received from the server.
(Inherited from ClientBase) |
ReceiveDataComplete |
Occurs when data received from the server has been processed and is ready for consumption.
(Inherited from ClientBase) |
ReceiveDataException |
Occurs when an Exception is encountered when receiving data from the server.
(Inherited from ClientBase) |
SendDataComplete |
Occurs when the client has successfully sent data to the server.
(Inherited from ClientBase) |
SendDataException |
Occurs when an Exception is encountered when sending data to the server.
(Inherited from ClientBase) |
SendDataStart |
Occurs when the client begins sending data to the server.
(Inherited from ClientBase) |
DefaultAllowDualStackSocket | Specifies the default value for the AllowDualStackSocket property. |
DefaultConnectionString | Specifies the default value for the ConnectionString property. |
DefaultIgnoreInvalidCredentials | Specifies the default value for the IgnoreInvalidCredentials property. |
DefaultIntegratedSecurity | Specifies the default value for the IntegratedSecurity property. |
DefaultMaxSendQueueSize | Specifies the default value for the MaxSendQueueSize property. |
DefaultNoDelay | Specifies the default value for the NoDelay property. |
DefaultPayloadAware | Specifies the default value for the PayloadAware property. |