TcpChannel 构造函数

定义

初始化 TcpChannel 类的新实例。

重载

TcpChannel()

初始化 TcpChannel 类的新实例,仅激活客户端信道,不激活服务器信道。

TcpChannel(Int32)

使用侦听指定端口的服务器信道初始化 TcpChannel 类的新实例。

TcpChannel(IDictionary, IClientChannelSinkProvider, IServerChannelSinkProvider)

使用指定的配置属性和接收器初始化 TcpChannel 类的新实例。

TcpChannel()

初始化 TcpChannel 类的新实例,仅激活客户端信道,不激活服务器信道。

public:
 TcpChannel();
public TcpChannel ();
Public Sub New ()

示例

下面的代码示例演示如何使用此构造函数。

// Create the channel.
TcpChannel^ clientChannel = gcnew TcpChannel();
// Create the channel.
TcpChannel clientChannel = new TcpChannel();

注解

无参数构造函数将所有字段初始化为其默认值。 如果使用无参数构造函数,则通道仅充当客户端通道,不侦听任何端口。

适用于

TcpChannel(Int32)

使用侦听指定端口的服务器信道初始化 TcpChannel 类的新实例。

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)

参数

port
Int32

服务器信道侦听的端口。

示例

下面的代码示例演示如何使用此方法。 若要请求动态分配可用端口,请将 参数设置为 port 零。

// 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()

注解

若要请求远程处理系统代表你选择一个打开的端口,请指定端口 0 (零) 。 这将创建一个 TcpServerChannel 实例来侦听动态分配的端口上的请求。 这通常在客户端上完成, TcpServerChannel 以确保 正在侦听回调方法。

如果将 0 传递给构造函数,则会 TcpChannel 实例化为使用可用端口。

适用于

TcpChannel(IDictionary, IClientChannelSinkProvider, IServerChannelSinkProvider)

使用指定的配置属性和接收器初始化 TcpChannel 类的新实例。

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)

参数

properties
IDictionary

一个 IDictionary 集合,它为客户端和服务器信道要使用的配置属性指定值。

clientSinkProvider
IClientChannelSinkProvider

客户端信道要使用的 IClientChannelSinkProvider 实现。

serverSinkProvider
IServerChannelSinkProvider

服务器信道要使用的 IServerChannelSinkProvider 实现。

例外

所提供的信道属性的格式不正确。

示例

下面的代码示例演示如何使用此构造函数。

// 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);

注解

有关通道配置属性的详细信息,请参阅 通道和格式化程序配置属性

通道接收器提供了一个插件点,允许访问流经通道的基础消息以及传输机制用于将消息发送到远程对象的流。 通道接收器还负责在客户端和服务器之间传输消息。 通道接收器在链中链接在一起,所有通道消息在最终序列化和传输消息之前流经此接收器链。 如果不需要接收器功能,请将 clientSinkProviderserverSinkProvider 参数设置为 null

另请参阅

适用于