共用方式為


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

另請參閱

適用於