Поделиться через


TcpChannel Конструкторы

Определение

Инициализирует новый экземпляр класса TcpChannel.

Перегрузки

TcpChannel()

Инициализирует новый экземпляр класса TcpChannel, активируя только клиентский, но не серверный канал.

TcpChannel(Int32)

Инициализирует новый экземпляр класса TcpChannel с каналом сервера, который ожидает передачу данных для указанного порта межпроцессного взаимодействия.

TcpChannel(IDictionary, IClientChannelSinkProvider, IServerChannelSinkProvider)

Инициализирует новый экземпляр класса TcpChannel с указанными свойствами конфигурации и приемником.

TcpChannel()

Инициализирует новый экземпляр класса TcpChannel, активируя только клиентский, но не серверный канал.

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

Примеры

В следующем примере кода показано, как использовать этот конструктор.

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

Комментарии

Конструктор без параметров инициализирует все поля значениями по умолчанию. Если используется конструктор без параметров, канал функционирует только как клиентский канал и не прослушивает ни один порт.

Применяется к

TcpChannel(Int32)

Инициализирует новый экземпляр класса TcpChannel с каналом сервера, который ожидает передачу данных для указанного порта межпроцессного взаимодействия.

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)

Параметры

port
Int32

Порт, прослушиваемый каналом сервера.

Примеры

В следующем примере кода показано использование этого метода. Чтобы запросить динамическое назначение доступного порта, задайте port для параметра нулевое значение.

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

Комментарии

Чтобы запросить, чтобы система удаленного взаимодействия выбрала открытый порт от вашего имени, укажите порт 0 (ноль). При этом будет создан TcpServerChannel экземпляр для прослушивания запросов к динамически назначенному порту. Обычно это делается на клиенте, чтобы убедиться, что объект TcpServerChannel прослушивает методы обратного вызова.

Если 0 передается конструктору TcpChannel , создается экземпляр для использования свободного порта.

Применяется к

TcpChannel(IDictionary, IClientChannelSinkProvider, IServerChannelSinkProvider)

Инициализирует новый экземпляр класса TcpChannel с указанными свойствами конфигурации и приемником.

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)

Параметры

properties
IDictionary

Коллекция IDictionary, которая определяет значения для свойств конфигурации, используемых в каналах клиента и сервера.

clientSinkProvider
IClientChannelSinkProvider

Реализация интерфейса IClientChannelSinkProvider для использования каналом клиента.

serverSinkProvider
IServerChannelSinkProvider

Реализация интерфейса IServerChannelSinkProvider для использования каналом сервера.

Исключения

Предоставленное свойство канала было отформатировано с ошибкой.

Примеры

В следующем примере кода показано, как использовать этот конструктор.

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

Комментарии

Дополнительные сведения о свойствах конфигурации канала см. в разделе Свойства конфигурации канала и модуля форматирования.

Приемники каналов предоставляют точку подключаемого модуля, которая обеспечивает доступ к базовым сообщениям, проходящим через канал, а также к потоку, используемому механизмом транспорта для отправки сообщений в удаленный объект. Приемники каналов также отвечают за передачу сообщений между клиентом и сервером. Приемники каналов объединяются в цепочку, и все сообщения канала проходят через эту цепочку приемников, прежде чем сообщение окончательно сериализуется и транспортируется. Если функциональность приемника не требуется, задайте clientSinkProvider для параметров и serverSinkProvider значение null.

См. также раздел

Применяется к