TcpChannel Construtores
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
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
.