Sdílet prostřednictvím


TcpChannel Konstruktory

Definice

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 nullhodnotu .

Viz také

Platí pro