TcpChannel Konstruktory
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
Inicializuje novou instanci TcpChannel třídy .
Přetížení
TcpChannel() |
Inicializuje novou instanci TcpChannel třídy a aktivuje pouze klientský kanál, a ne kanál serveru. |
TcpChannel(Int32) |
Inicializuje novou instanci TcpChannel třídy se serverovým kanálem, který naslouchá na zadaném portu. |
TcpChannel(IDictionary, IClientChannelSinkProvider, IServerChannelSinkProvider) |
Inicializuje novou instanci TcpChannel třídy se zadanými vlastnostmi konfigurace a jímky. |
TcpChannel()
Inicializuje novou instanci TcpChannel třídy a aktivuje pouze klientský kanál, a ne kanál serveru.
public:
TcpChannel();
public TcpChannel ();
Public Sub New ()
Příklady
Následující příklad kódu ukazuje, jak použít tento konstruktor.
// Create the channel.
TcpChannel^ clientChannel = gcnew TcpChannel();
// Create the channel.
TcpChannel clientChannel = new TcpChannel();
Poznámky
Konstruktor bez parametrů inicializuje všechna pole na výchozí hodnoty. Pokud je použit konstruktor bez parametrů, kanál funguje pouze jako klientský kanál a nenaslouchá na žádných portech.
Platí pro
TcpChannel(Int32)
Inicializuje novou instanci TcpChannel třídy se serverovým kanálem, který naslouchá na zadaném portu.
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)
Parametry
- port
- Int32
Port, na kterém naslouchá kanál serveru.
Příklady
Následující příklad kódu ukazuje použití této metody. Pokud chcete požádat o dynamické přiřazení dostupného portu, nastavte parametr na nulu 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()
Poznámky
Pokud chcete požádat, aby systém vzdálené komunikace zvolil otevřený port vaším jménem, zadejte port 0 (nula). Tím se vytvoří instance, která TcpServerChannel bude naslouchat požadavkům na dynamicky přiřazený port. Obvykle se to provádí na klientovi, aby se zajistilo, že naslouchá TcpServerChannel metodám zpětného volání.
Pokud je do konstruktoru předána hodnota 0, TcpChannel vytvoří se instance pro použití volného portu.
Platí pro
TcpChannel(IDictionary, IClientChannelSinkProvider, IServerChannelSinkProvider)
Inicializuje novou instanci TcpChannel třídy se zadanými vlastnostmi konfigurace a jímky.
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)
Parametry
- properties
- IDictionary
Kolekce IDictionary , která určuje hodnoty vlastností konfigurace, které mají být použity kanály klienta a serveru.
- clientSinkProvider
- IClientChannelSinkProvider
Implementace IClientChannelSinkProvider , která má být použita klientským kanálem.
- serverSinkProvider
- IServerChannelSinkProvider
Implementace IServerChannelSinkProvider , která se má použít kanálem serveru.
Výjimky
Poskytnutá vlastnost kanálu byla nesprávně naformátována.
Příklady
Následující příklad kódu ukazuje, jak použít tento konstruktor.
// 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);
Poznámky
Další informace o vlastnostech konfigurace kanálu najdete v tématu Vlastnosti konfigurace kanálu a formátovače.
Jímky kanálu poskytují bod modulu plug-in, který umožňuje přístup k podkladovým zprávám procházejících kanálem i k datovému proudu používanému transportním mechanismem k odesílání zpráv do vzdáleného objektu. Jímky kanálů jsou také zodpovědné za přenos zpráv mezi klientem a serverem. Jímky kanálů jsou propojeny v řetězu a všechny zprávy kanálu procházejí tímto řetězem jímek před tím, než je zpráva nakonec serializována a přenesena. Pokud funkci jímky nepotřebujete, nastavte clientSinkProvider
parametry a serverSinkProvider
na null
hodnotu .