Freigeben über


TcpChannel Konstruktoren

Definition

Initialisiert eine neue Instanz der TcpChannel-Klasse.

Überlädt

Name Beschreibung
TcpChannel()

Initialisiert eine neue Instanz der TcpChannel Klasse, wobei nur ein Clientkanal und kein Serverkanal aktiviert wird.

TcpChannel(Int32)

Initialisiert eine neue Instanz der TcpChannel Klasse mit einem Serverkanal, der auf den angegebenen Port lauscht.

TcpChannel(IDictionary, IClientChannelSinkProvider, IServerChannelSinkProvider)

Initialisiert eine neue Instanz der TcpChannel Klasse mit den angegebenen Konfigurationseigenschaften und Senken.

TcpChannel()

Initialisiert eine neue Instanz der TcpChannel Klasse, wobei nur ein Clientkanal und kein Serverkanal aktiviert wird.

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

Beispiele

Das folgende Codebeispiel zeigt, wie dieser Konstruktor verwendet wird.

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

Hinweise

Der parameterlose Konstruktor initialisiert alle Felder mit ihren Standardwerten. Wenn der parameterlose Konstruktor verwendet wird, funktioniert der Kanal nur als Clientkanal und überwacht keine Ports.

Gilt für:

TcpChannel(Int32)

Initialisiert eine neue Instanz der TcpChannel Klasse mit einem Serverkanal, der auf den angegebenen Port lauscht.

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)

Parameter

port
Int32

Der Port, an dem der Serverkanal lauscht.

Beispiele

Im folgenden Codebeispiel wird die Verwendung dieser Methode veranschaulicht. Um anzufordern, dass ein verfügbarer Port dynamisch zugewiesen wird, legen Sie den port Parameter auf Null fest.

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

Hinweise

Um anzufordern, dass das Remotingsystem einen offenen Port in Ihrem Auftrag auswäht, geben Sie Port 0 (Null) an. Dadurch wird eine TcpServerChannel Instanz erstellt, die auf Anforderungen des dynamisch zugewiesenen Ports lauscht. Dies erfolgt in der Regel auf dem Client, um sicherzustellen, dass eine TcpServerChannel Rückrufmethode überwacht wird.

Wenn 0 an den Konstruktor übergeben wird, wird der TcpChannel Instanziiert, um einen kostenlosen Port zu verwenden.

Gilt für:

TcpChannel(IDictionary, IClientChannelSinkProvider, IServerChannelSinkProvider)

Initialisiert eine neue Instanz der TcpChannel Klasse mit den angegebenen Konfigurationseigenschaften und Senken.

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)

Parameter

properties
IDictionary

Eine IDictionary Auflistung, die Werte für Konfigurationseigenschaften angibt, die von den Client- und Serverkanälen verwendet werden sollen.

clientSinkProvider
IClientChannelSinkProvider

Die IClientChannelSinkProvider Implementierung, die vom Clientkanal verwendet werden soll.

serverSinkProvider
IServerChannelSinkProvider

Die IServerChannelSinkProvider Implementierung, die vom Serverkanal verwendet werden soll.

Ausnahmen

Eine bereitgestellte Kanaleigenschaft wurde nicht ordnungsgemäß formatiert.

Beispiele

Das folgende Codebeispiel zeigt, wie dieser Konstruktor verwendet wird.

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

Hinweise

Kanalsenken bieten einen Plug-In-Punkt, der den Zugriff auf die zugrunde liegenden Nachrichten ermöglicht, die über den Kanal fließen, sowie den Datenstrom, der vom Transportmechanismus zum Senden von Nachrichten an ein Remoteobjekt verwendet wird. Kanalsenken sind auch für den Transport von Nachrichten zwischen dem Client und dem Server verantwortlich. Kanalsenken sind in einer Kette miteinander verknüpft, und alle Kanalnachrichten fließen durch diese Kette von Senken, bevor die Nachricht schließlich serialisiert und transportiert wird. Wenn Sie keine Sinkfunktionalität benötigen, legen Sie die Und-Parameter clientSinkProviderserverSinkProvider auf null.

Gilt für: