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
.