TcpChannel Konstruktory
Definicja
Ważne
Niektóre informacje odnoszą się do produktu w wersji wstępnej, który może zostać znacząco zmodyfikowany przed wydaniem. Firma Microsoft nie udziela żadnych gwarancji, jawnych lub domniemanych, w odniesieniu do informacji podanych w tym miejscu.
Inicjuje nowe wystąpienie klasy TcpChannel.
Przeciążenia
TcpChannel() |
Inicjuje TcpChannel nowe wystąpienie klasy, aktywując tylko kanał klienta, a nie kanał serwera. |
TcpChannel(Int32) |
Inicjuje TcpChannel nowe wystąpienie klasy przy użyciu 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 jest używany konstruktor bez parametrów, kanał działa tylko jako kanał klienta i nie nasłuchuje na żadnych portach.
Dotyczy
TcpChannel(Int32)
Inicjuje TcpChannel nowe wystąpienie klasy przy użyciu 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
Poniższy przykład kodu pokazuje użycie 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 wirtualnej 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 nasłuchuje TcpServerChannel 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 do użycia przez kanał klienta.
- serverSinkProvider
- IServerChannelSinkProvider
Implementacja IServerChannelSinkProvider do użycia 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 formatnika.
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ść, zanim komunikat zostanie ostatecznie serializowany i transportowany. Jeśli nie potrzebujesz funkcji ujścia, ustaw clientSinkProvider
parametr i serverSinkProvider
na null
.