TcpChannel Konstruktor

Definisi

Menginisialisasi instans baru dari kelas TcpChannel.

Overload

Nama Deskripsi
TcpChannel()

Menginisialisasi instans TcpChannel baru kelas, hanya mengaktifkan saluran klien, dan bukan saluran server.

TcpChannel(Int32)

Menginisialisasi instans TcpChannel baru kelas dengan saluran server yang mendengarkan pada port yang ditentukan.

TcpChannel(IDictionary, IClientChannelSinkProvider, IServerChannelSinkProvider)

Menginisialisasi instans TcpChannel baru kelas dengan properti konfigurasi dan sink yang ditentukan.

TcpChannel()

Menginisialisasi instans TcpChannel baru kelas, hanya mengaktifkan saluran klien, dan bukan saluran server.

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

Contoh

Contoh kode berikut menunjukkan cara menggunakan konstruktor ini.

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

Keterangan

Konstruktor tanpa parameter menginisialisasi semua bidang ke nilai defaultnya. Jika konstruktor tanpa parameter digunakan, saluran hanya berfungsi sebagai saluran klien, dan tidak mendengarkan pada port apa pun.

Berlaku untuk

TcpChannel(Int32)

Menginisialisasi instans TcpChannel baru kelas dengan saluran server yang mendengarkan pada port yang ditentukan.

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

Port tempat saluran server mendengarkan.

Contoh

Contoh kode berikut menunjukkan penggunaan metode ini. Untuk meminta agar port yang tersedia ditetapkan secara dinamis, atur port parameter ke nol.

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

Keterangan

Untuk meminta agar sistem jarak jauh memilih port terbuka atas nama Anda, tentukan port 0 (nol). Ini akan membuat TcpServerChannel instans untuk mendengarkan permintaan pada port yang ditetapkan secara dinamis. Ini biasanya dilakukan pada klien untuk memastikan bahwa mendengarkan TcpServerChannel metode panggilan balik.

Jika 0 diteruskan ke konstruktor TcpChannel , diinstruksikan untuk menggunakan port gratis.

Berlaku untuk

TcpChannel(IDictionary, IClientChannelSinkProvider, IServerChannelSinkProvider)

Menginisialisasi instans TcpChannel baru kelas dengan properti konfigurasi dan sink yang ditentukan.

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

Koleksi IDictionary yang menentukan nilai untuk properti konfigurasi yang akan digunakan oleh saluran klien dan server.

clientSinkProvider
IClientChannelSinkProvider

Implementasi IClientChannelSinkProvider yang akan digunakan oleh saluran klien.

serverSinkProvider
IServerChannelSinkProvider

Implementasi yang IServerChannelSinkProvider akan digunakan oleh saluran server.

Pengecualian

Properti saluran yang disediakan diformat dengan tidak benar.

Contoh

Contoh kode berikut menunjukkan cara menggunakan konstruktor ini.

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

Keterangan

Sink saluran menyediakan titik plug-in yang memungkinkan akses ke pesan yang mendasar yang mengalir melalui saluran serta aliran yang digunakan oleh mekanisme transportasi untuk mengirim pesan ke objek jarak jauh. Sink saluran juga bertanggung jawab untuk mengangkut pesan antara klien dan server. Sink saluran ditautkan bersama dalam rantai, dan semua pesan saluran mengalir melalui rantai sink ini sebelum pesan akhirnya diserialisasikan dan diangkut. Jika Anda tidak memerlukan fungsionalitas sink, atur clientSinkProvider parameter dan serverSinkProvider ke null.

Berlaku untuk