|   | Tcp | 
 Inheritance Hierarchy
Inheritance Hierarchy
         Syntax
Syntaxpublic class TcpClient : ClientBase
The TcpClient type exposes the following members.
 Constructors
Constructors| Name | Description | |
|---|---|---|
|  | TcpClient | Initializes a new instance of the TcpClient class. | 
|  | TcpClient(IContainer) | Initializes a new instance of the TcpClient class. | 
|  | TcpClient(String) | Initializes a new instance of the TcpClient class. | 
 Properties
Properties| Name | Description | |
|---|---|---|
|  | AllowDualStackSocket | Gets or sets a boolean value that determines if dual-mode socket is allowed when endpoint address is IPv6. | 
|  | CanRaiseEvents | Gets a value indicating whether the component can raise an event. (Inherited from Component) | 
|  | 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) | 
|  | Container | Gets the IContainer that contains the Component. (Inherited from Component) | 
|  | CurrentState | Gets the current ClientState. (Inherited from ClientBase) | 
|  | DesignMode | Gets a value that indicates whether the Component is currently in design mode. (Inherited from Component) | 
|  | Enabled | Gets or sets a boolean value that indicates whether the client is currently enabled. (Inherited from ClientBase) | 
|  | Events | Gets the list of event handlers that are attached to this Component. (Inherited from Component) | 
|  | 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 the unique identifier of the client. (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. | 
|  | PersistSettings | Gets or sets a boolean value that indicates whether the client settings are to be saved to the config file. (Inherited from ClientBase) | 
|  | 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) | 
|  | SettingsCategory | Gets or sets the category under which the client settings are to be saved to the config file if the PersistSettings property is set to true. (Inherited from ClientBase) | 
|  | Site | Gets or sets the ISite of the Component. (Inherited from Component) | 
|  | 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) | 
 Methods
Methods| Name | Description | |
|---|---|---|
|  | BeginInit | Performs necessary operations before the client properties are initialized. (Inherited from ClientBase) | 
|  | Connect | Connects the client to the server synchronously. (Inherited from ClientBase) | 
|  | ConnectAsync | Connects the TcpClient to the server asynchronously. (Overrides ClientBaseConnectAsync) | 
|  | CreateObjRef | Creates an object that contains all the relevant information required to generate a proxy used to communicate with a remote object. (Inherited from MarshalByRefObject) | 
|  | Disconnect | Disconnects the TcpClient from the connected server synchronously. (Overrides ClientBaseDisconnect) | 
|  | Dispose | Releases all resources used by the Component. (Inherited from Component) | 
|  | Dispose(Boolean) | Releases the unmanaged resources used by the TcpClient and optionally releases the managed resources. (Overrides ClientBaseDispose(Boolean)) | 
|  | EndInit | Performs necessary operations after the client properties are initialized. (Inherited from ClientBase) | 
|  | Equals | Determines whether the specified object is equal to the current object. (Inherited from Object) | 
|  | Finalize | Releases unmanaged resources and performs other cleanup operations before the Component is reclaimed by garbage collection. (Inherited from Component) | 
|  | GetHashCode | Serves as the default hash function. (Inherited from Object) | 
|  | GetLifetimeService | Retrieves the current lifetime service object that controls the lifetime policy for this instance. (Inherited from MarshalByRefObject) | 
|  | GetService | Returns an object that represents a service provided by the Component or by its Container. (Inherited from Component) | 
|  | GetType | Gets the Type of the current instance. (Inherited from Object) | 
|  | Initialize | Initializes the client. (Inherited from ClientBase) | 
|  | InitializeLifetimeService | Obtains a lifetime service object to control the lifetime policy for this instance. (Inherited from MarshalByRefObject) | 
|  | LoadSettings | Loads saved TcpClient settings from the config file if the PersistSettings property is set to true. (Overrides ClientBaseLoadSettings) | 
|  | MemberwiseClone | Creates a shallow copy of the current Object. (Inherited from Object) | 
|  | MemberwiseClone(Boolean) | Creates a shallow copy of the current MarshalByRefObject object. (Inherited from MarshalByRefObject) | 
|  | 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) | 
|  | OnUnhandledUserException | Raises the UnhandledUserException 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) | 
|  | SaveSettings | Saves TcpClient settings to the config file if the PersistSettings property is set to true. (Overrides ClientBaseSaveSettings) | 
|  | Send(Byte) | Sends data to the server synchronously. (Inherited from ClientBase) | 
|  | Send(Object) | 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(Object) | 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 containing the name of the Component, if any. This method should not be overridden. (Inherited from Component) | 
|  | 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)) | 
 Events
Events| Name | Description | |
|---|---|---|
|  | 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 component is disposed by a call to the Dispose method. (Inherited from Component) | 
|  | 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) | 
|  | UnhandledUserException | Occurs when an Exception is encountered in a user-defined function via an event dispatch. (Inherited from ClientBase) | 
 Fields
Fields| Name | Description | |
|---|---|---|
|   | 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. | 
 Extension Methods
Extension Methods| Name | Description | |
|---|---|---|
|  | GetEnumValueOrDefault | Gets the enumeration constant for value, if defined in the enumeration, or a default value. (Defined by EnumExtensions) | 
|  | GetEnumValueOrDefaultT | Gets the enumeration constant for this value, if defined in the enumeration, or a default value. (Defined by EnumExtensions) | 
 Remarks
Remarks Example
Exampleusing 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))); } }
 See Also
See Also