Język

TcpChannel Konstruktory

Definicja

Inicjuje nowe wystąpienie klasy TcpChannel.

Przeciążenia

Nazwa Opis
TcpChannel()

Inicjuje TcpChannel nowe wystąpienie klasy, aktywując tylko kanał klienta, a nie kanał serwera.

TcpChannel(Int32)

Inicjuje nowe wystąpienie TcpChannel klasy za pomocą kanału serwera, który nasłuchuje na określonym porcie.

TcpChannel(IDictionary, IClientChannelSinkProvider, IServerChannelSinkProvider)

Inicjuje TcpChannel nowe wystąpienie klasy z określonymi właściwościami konfiguracji i ujściami.

TcpChannel()

Inicjuje TcpChannel nowe wystąpienie klasy, aktywując tylko kanał klienta, a nie kanał serwera.

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

Przykłady

W poniższym przykładzie kodu pokazano, jak używać tego konstruktora.

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

Uwagi

Konstruktor bez parametrów inicjuje wszystkie pola do wartości domyślnych. Jeśli używany jest konstruktor bez parametrów, kanał działa tylko jako kanał klienta i nie nasłuchuje na żadnych portach.

Dotyczy

TcpChannel(Int32)

Inicjuje nowe wystąpienie TcpChannel klasy za pomocą kanału serwera, który nasłuchuje na określonym porcie.

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 którym nasłuchuje kanał serwera.

Przykłady

W poniższym przykładzie kodu pokazano, jak używać tej metody. Aby zażądać dynamicznego przypisania dostępnego portu, ustaw port parametr na zero.

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

Uwagi

Aby zażądać, aby system komunikacji zdalnie wybrał otwarty port w Twoim imieniu, określ port 0 (zero). Spowoduje to utworzenie TcpServerChannel wystąpienia do nasłuchiwania żądań na dynamicznie przypisanym porcie. Zazwyczaj odbywa się to na kliencie, aby upewnić się, że obiekt TcpServerChannel nasłuchuje metod wywołania zwrotnego.

Jeśli wartość 0 zostanie przekazana do konstruktora, TcpChannel zostanie utworzone wystąpienie, aby użyć wolnego portu.

Dotyczy

TcpChannel(IDictionary, IClientChannelSinkProvider, IServerChannelSinkProvider)

Inicjuje TcpChannel nowe wystąpienie klasy z określonymi właściwościami konfiguracji i ujściami.

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

IDictionary Kolekcja określająca wartości właściwości konfiguracji, które mają być używane przez kanały klienta i serwera.

clientSinkProvider
IClientChannelSinkProvider

Implementacja IClientChannelSinkProvider , która ma być używana przez kanał klienta.

serverSinkProvider
IServerChannelSinkProvider

Implementacja IServerChannelSinkProvider , która ma być używana przez kanał serwera.

Wyjątki

Podana właściwość kanału została nieprawidłowo sformatowana.

Przykłady

W poniższym przykładzie kodu pokazano, jak używać tego konstruktora.

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

Uwagi

Aby uzyskać więcej informacji na temat właściwości konfiguracji kanału, zobacz Właściwości konfiguracji kanału i formatowania.

Ujścia kanału zapewniają punkt wtyczki, który umożliwia dostęp do źródłowych komunikatów przepływających przez kanał, a także strumienia używanego przez mechanizm transportu do wysyłania komunikatów do obiektu zdalnego. Ujścia kanału są również odpowiedzialne za transport komunikatów między klientem a serwerem. Ujścia kanału są połączone ze sobą w łańcuchu, a wszystkie komunikaty kanału przepływają przez ten łańcuch ujścia, zanim komunikat zostanie ostatecznie serializowany i transportowany. Jeśli nie potrzebujesz funkcji ujścia, ustaw clientSinkProvider parametr i serverSinkProvider na nullwartość .

Zobacz też

Dotyczy