Partilhar via


TcpChannel Construtores

Definição

Inicializa uma nova instância da classe TcpChannel.

Sobrecargas

TcpChannel()

Inicializa uma nova instância da classe TcpChannel, ativando apenas um canal de cliente e não um canal do servidor.

TcpChannel(Int32)

Inicializa uma nova instância da classe TcpChannel com um canal de servidor que escuta na porta especificada.

TcpChannel(IDictionary, IClientChannelSinkProvider, IServerChannelSinkProvider)

Inicializa uma nova instância da classe TcpChannel com as propriedades de configuração e os coletores especificados.

TcpChannel()

Inicializa uma nova instância da classe TcpChannel, ativando apenas um canal de cliente e não um canal do servidor.

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

Exemplos

O exemplo de código a seguir mostra como usar esse construtor.

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

Comentários

O construtor sem parâmetros inicializa todos os campos para seus valores padrão. Se o construtor sem parâmetros for usado, o canal funcionará apenas como um canal cliente e não escutará em nenhuma porta.

Aplica-se a

TcpChannel(Int32)

Inicializa uma nova instância da classe TcpChannel com um canal de servidor que escuta na porta especificada.

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)

Parâmetros

port
Int32

A porta na qual o canal do servidor escuta.

Exemplos

O exemplo de código a seguir demonstra o uso desse método. Para solicitar que uma porta disponível seja atribuída dinamicamente, defina o port parâmetro como 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()

Comentários

Para solicitar que o sistema de comunicação remota escolha uma porta aberta em seu nome, especifique a porta 0 (zero). Isso criará uma TcpServerChannel instância para escutar solicitações na porta atribuída dinamicamente. Isso normalmente é feito no cliente para garantir que um TcpServerChannel esteja escutando métodos de retorno de chamada.

Se 0 for passado para o construtor, o TcpChannel será instanciado para usar uma porta gratuita.

Aplica-se a

TcpChannel(IDictionary, IClientChannelSinkProvider, IServerChannelSinkProvider)

Inicializa uma nova instância da classe TcpChannel com as propriedades de configuração e os coletores especificados.

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)

Parâmetros

properties
IDictionary

Uma coleção IDictionary que especifica valores para propriedades de configuração a ser usada pelos canais do cliente e do servidor.

clientSinkProvider
IClientChannelSinkProvider

A implementação IClientChannelSinkProvider a ser usada pelo canal de cliente.

serverSinkProvider
IServerChannelSinkProvider

A implementação IServerChannelSinkProvider a ser usada pelo canal do servidor.

Exceções

Uma propriedade de canal fornecida foi formatada incorretamente.

Exemplos

O exemplo de código a seguir mostra como usar esse construtor.

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

Comentários

Para obter mais informações sobre as propriedades de configuração de canal, consulte Propriedades de configuração de canal e formatador.

Os coletores de canal fornecem um ponto de plug-in que permite o acesso às mensagens subjacentes que fluem pelo canal, bem como o fluxo usado pelo mecanismo de transporte para enviar mensagens para um objeto remoto. Os coletores de canal também são responsáveis pelo transporte de mensagens entre o cliente e o servidor. Os coletores de canal são vinculados em uma cadeia e todas as mensagens de canal fluem por essa cadeia de coletores antes que a mensagem seja finalmente serializada e transportada. Se você não precisar da funcionalidade do coletor, defina os clientSinkProvider parâmetros e serverSinkProvider como null.

Confira também

Aplica-se a