This documentation is archived and is not being maintained.

TcpClientChannel Class

Provides an implementation for a client channel that uses the TCP protocol to transmit messages.

For a list of all members of this type, see TcpClientChannel Members.


[Visual Basic]
Public Class TcpClientChannel
   Implements IChannelSender, IChannel
public class TcpClientChannel : IChannelSender, IChannel
public __gc class TcpClientChannel : public IChannelSender,
public class TcpClientChannel implements IChannelSender, IChannel

Thread Safety

Any public static (Shared in Visual Basic) members of this type are thread safe. Any instance members are not guaranteed to be thread safe.


By default, the TcpClientChannel uses a binary formatter to serialize all messages to a binary stream and transports the stream to the target URI using the TCP protocol.

Channels transport messages between applications across remoting boundaries (for example application domains, processes, and machines). The current channel sends outbound messages to an endpoint specified by the message. TcpClientChannel converts the messages sent along it to binary format, and sends them using the TCP protocol.

If there are common language runtimes at both ends of the channel, then a session is created between the two ends, in order to connect the client and server sink chains on either side of the boundary together. The client channel is located at the end of the client context sink chain. The server channel is located at the start of the server context sink chain. Messages are delivered to the client channel, travel through it, and are received by an instance of the TcpServerChannel class. The server channel then deserializes the messages and delivers them to the first server context sink.

IChannel implementations use channel configuration properties to configure the channel at run time. Channel properties can be specified in a configuration file, or programmatically, inside of an IDictionary. In a configuration file all values are represented by strings, but when building a property IDictionary programmatically, value types can be specified with their native values or with strings.

The following table shows the channel configuration properties that can be specified for the current channel.

Property Description
name Indicates the name of the channel. This property is used to retrieve a specific channel when calling GetChannel. If this property is not set, the system defaults to "http". If you want to register more than one HttpChannel, each must have a unique name. Set this property to the Empty string ("") if you want to ignore names, but avoid naming collisions. The system will allow any number of channels with the String.Empty name.
priority An integer representing the priority assigned to this channel. Higher numbers indicate a higher chance of being chosen to connect first. The default priority is 1, and negative numbers are allowed.
machineName A string that specifies the machine name used with the current channel. Overrides the machine name channel data object.


Namespace: System.Runtime.Remoting.Channels.Tcp

Platforms: Windows 98, Windows NT 4.0, Windows Millennium Edition, Windows 2000, Windows XP Home Edition, Windows XP Professional, Windows Server 2003 family

Assembly: System.Runtime.Remoting (in System.Runtime.Remoting.dll)

See Also

TcpClientChannel Members | System.Runtime.Remoting.Channels.Tcp Namespace