TcpChannel Constructors
Definition
Important
Some information relates to prerelease product that may be substantially modified before it’s released. Microsoft makes no warranties, express or implied, with respect to the information provided here.
Initializes a new instance of the TcpChannel class.
Overloads
TcpChannel() |
Initializes a new instance of the TcpChannel class, activating only a client channel, and not a server channel. |
TcpChannel(Int32) |
Initializes a new instance of the TcpChannel class with a server channel that listens on the specified port. |
TcpChannel(IDictionary, IClientChannelSinkProvider, IServerChannelSinkProvider) |
Initializes a new instance of the TcpChannel class with the specified configuration properties and sinks. |
TcpChannel()
Initializes a new instance of the TcpChannel class, activating only a client channel, and not a server channel.
public:
TcpChannel();
public TcpChannel ();
Public Sub New ()
Examples
The following code example shows how to use this constructor.
// Create the channel.
TcpChannel^ clientChannel = gcnew TcpChannel();
// Create the channel.
TcpChannel clientChannel = new TcpChannel();
Remarks
The parameterless constructor initializes all fields to their default values. If the parameterless constructor is used, the channel functions only as a client channel, and does not listen on any ports.
Applies to
TcpChannel(Int32)
Initializes a new instance of the TcpChannel class with a server channel that listens on the specified port.
public:
TcpChannel(int port);
public TcpChannel (int port);
new System.Runtime.Remoting.Channels.Tcp.TcpChannel : int -> System.Runtime.Remoting.Channels.Tcp.TcpChannel
Public Sub New (port As Integer)
Parameters
- port
- Int32
The port on which the server channel listens.
Examples
The following code example demonstrates using this method. To request that an available port be dynamically assigned, set the port
parameter to zero.
// Registers the server and waits until the user hits enter.
TcpChannel^ chan = gcnew TcpChannel( 8084 );
ChannelServices::RegisterChannel( chan );
RemotingConfiguration::RegisterWellKnownServiceType(
Type::GetType( "HelloServer,server" ),
"SayHello",
WellKnownObjectMode::SingleCall );
System::Console::WriteLine( L"Hit <enter> to exit..." );
System::Console::ReadLine();
// Registers the server and waits until the user hits enter.
TcpChannel chan = new TcpChannel(8084);
ChannelServices.RegisterChannel(chan);
RemotingConfiguration.RegisterWellKnownServiceType(Type.GetType("HelloServer,server"),
"SayHello",
WellKnownObjectMode.SingleCall);
System.Console.WriteLine("Hit <enter> to exit...");
System.Console.ReadLine();
' Registers the server and waits until the user hits enter.
Dim chan As New TcpChannel(8084)
ChannelServices.RegisterChannel(chan)
RemotingConfiguration.RegisterWellKnownServiceType(Type.GetType("HelloServer,server"), "SayHello", WellKnownObjectMode.SingleCall)
System.Console.WriteLine("Hit <enter> to exit...")
System.Console.ReadLine()
Remarks
To request that the remoting system choose an open port on your behalf, specify port 0 (zero). This will create a TcpServerChannel instance to listen for requests on the dynamically assigned port. This is typically done on the client to make sure that a TcpServerChannel is listening for callback methods.
If 0 is passed to the constructor the TcpChannel is instantiated to use a free port.
Applies to
TcpChannel(IDictionary, IClientChannelSinkProvider, IServerChannelSinkProvider)
Initializes a new instance of the TcpChannel class with the specified configuration properties and sinks.
public:
TcpChannel(System::Collections::IDictionary ^ properties, System::Runtime::Remoting::Channels::IClientChannelSinkProvider ^ clientSinkProvider, System::Runtime::Remoting::Channels::IServerChannelSinkProvider ^ serverSinkProvider);
public TcpChannel (System.Collections.IDictionary properties, System.Runtime.Remoting.Channels.IClientChannelSinkProvider clientSinkProvider, System.Runtime.Remoting.Channels.IServerChannelSinkProvider serverSinkProvider);
new System.Runtime.Remoting.Channels.Tcp.TcpChannel : System.Collections.IDictionary * System.Runtime.Remoting.Channels.IClientChannelSinkProvider * System.Runtime.Remoting.Channels.IServerChannelSinkProvider -> System.Runtime.Remoting.Channels.Tcp.TcpChannel
Public Sub New (properties As IDictionary, clientSinkProvider As IClientChannelSinkProvider, serverSinkProvider As IServerChannelSinkProvider)
Parameters
- properties
- IDictionary
A IDictionary collection that specifies values for configuration properties to be used by the client and server channels.
- clientSinkProvider
- IClientChannelSinkProvider
The IClientChannelSinkProvider implementation to be used by the client channel.
- serverSinkProvider
- IServerChannelSinkProvider
The IServerChannelSinkProvider implementation to be used by the server channel.
Exceptions
A provided channel property was improperly formatted.
Examples
The following code example shows how to use this constructor.
// Specify the properties for the server channel.
System::Collections::IDictionary^ dict = gcnew System::Collections::Hashtable;
dict[ "port" ] = 9090;
dict[ "authenticationMode" ] = "IdentifyCallers";
// Set up the server channel.
TcpChannel^ serverChannel = gcnew TcpChannel( dict,nullptr,nullptr );
ChannelServices::RegisterChannel( serverChannel );
// Specify the properties for the server channel.
System.Collections.IDictionary dict =
new System.Collections.Hashtable();
dict["port"] = 9090;
dict["authenticationMode"] = "IdentifyCallers";
// Set up the server channel.
TcpChannel serverChannel = new TcpChannel(dict, null, null);
ChannelServices.RegisterChannel(serverChannel);
Remarks
For more information about channel configuration properties, see Channel and Formatter Configuration Properties.
Channel sinks provide a plug-in point that allows access to the underlying messages flowing through the channel as well as the stream used by the transport mechanism to send messages to a remote object. Channel sinks are also responsible for transporting messages between the client and the server. Channel sinks are linked together in a chain, and all channel messages flow through this chain of sinks before the message is finally serialized and transported. If you do not require sink functionality, set the clientSinkProvider
and serverSinkProvider
parameters to null
.