TcpChannel 建構函式
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
初始化 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);
備註
如需通道組態屬性的詳細資訊,請參閱 通道和格式器組態屬性。
通道接收提供外掛程式點,允許存取流經通道的基礎訊息,以及傳輸機制用來將訊息傳送至遠端物件的數據流。 通道接收也負責傳輸客戶端與伺服器之間的訊息。 通道接收會在鏈結中連結在一起,而且所有通道訊息都會流經這個接收鏈結,然後再最後串行化和傳輸訊息。 如果您不需要接收功能,請將 clientSinkProvider
和 serverSinkProvider
參數設定為 null
。