Aracılığıyla paylaş


TcpClientChannel Sınıf

Tanım

Uzak çağrılar için, iletileri iletmek için TCP protokolunu kullanan bir istemci kanalı uygular.

public ref class TcpClientChannel : System::Runtime::Remoting::Channels::IChannelSender
public ref class TcpClientChannel : System::Runtime::Remoting::Channels::IChannelSender, System::Runtime::Remoting::Channels::ISecurableChannel
public class TcpClientChannel : System.Runtime.Remoting.Channels.IChannelSender
public class TcpClientChannel : System.Runtime.Remoting.Channels.IChannelSender, System.Runtime.Remoting.Channels.ISecurableChannel
type TcpClientChannel = class
    interface IChannelSender
    interface IChannel
type TcpClientChannel = class
    interface IChannelSender
    interface IChannel
    interface ISecurableChannel
Public Class TcpClientChannel
Implements IChannelSender
Public Class TcpClientChannel
Implements IChannelSender, ISecurableChannel
Devralma
TcpClientChannel
Uygulamalar

Örnekler

Aşağıdaki kod örneği, uzak türü çağırmak için sınıfının kullanımını TcpClientChannel gösterir.

#using <System.Runtime.Remoting.dll>
#using <System.dll>
#using <Remotable.dll>

using namespace System;
using namespace System::Runtime::Remoting;
using namespace System::Runtime::Remoting::Channels;
using namespace System::Runtime::Remoting::Channels::Tcp;
int main()
{
   
   // Set up a client channel.
   TcpClientChannel^ clientChannel = gcnew TcpClientChannel;
   ChannelServices::RegisterChannel( clientChannel );
   
   // Show the name and priority of the channel.
   Console::WriteLine( "Channel Name: {0}", clientChannel->ChannelName );
   Console::WriteLine( "Channel Priority: {0}", clientChannel->ChannelPriority );
   
   // Obtain a proxy for a remote object.
   RemotingConfiguration::RegisterWellKnownClientType( Remotable::typeid, "tcp://localhost:9090/Remotable.rem" );
   
   // Call a method on the object.
   Remotable ^ remoteObject = gcnew Remotable;
   Console::WriteLine( remoteObject->GetCount() );
}
using System;
using System.Runtime.Remoting;
using System.Runtime.Remoting.Channels;
using System.Runtime.Remoting.Channels.Tcp;

public class Client
{
    public static void Main()
    {

        // Set up a client channel.
        TcpClientChannel clientChannel = new TcpClientChannel();
        ChannelServices.RegisterChannel(clientChannel);

        // Show the name and priority of the channel.
        Console.WriteLine("Channel Name: {0}", clientChannel.ChannelName);
        Console.WriteLine("Channel Priority: {0}", clientChannel.ChannelPriority);

        // Obtain a proxy for a remote object.
        RemotingConfiguration.RegisterWellKnownClientType(
            typeof(Remotable), "tcp://localhost:9090/Remotable.rem"
        );

        // Call a method on the object.
        Remotable remoteObject = new Remotable();
        Console.WriteLine( remoteObject.GetCount() );
    }
}

Yukarıdaki örnekte çağrılan uzak tür aşağıdaki kodla tanımlanır.

using namespace System;
using namespace System::Runtime::Remoting;

public ref class Remotable: public MarshalByRefObject
{
private:
   int callCount;

public:
   Remotable()
      : callCount( 0 )
   {}

   int GetCount()
   {
      callCount++;
      return (callCount);
   }
};
using System;
using System.Runtime.Remoting;

public class Remotable : MarshalByRefObject
{

    private int callCount = 0;

    public int GetCount()
    {
        callCount++;
        return(callCount);
    }
}

Açıklamalar

Önemli

Güvenilmeyen verilerle bu sınıftan yöntemleri çağırmak bir güvenlik riskidir. Bu sınıftaki yöntemleri yalnızca güvenilir verilerle çağırın. Daha fazla bilgi için bkz. Tüm Girişleri Doğrulama.

Kanallar iletileri uzaktan iletişim sınırları (örneğin, bilgisayarlar veya uygulama etki alanları) arasında taşır. sınıfı, TcpClientChannel TCP protokolunu kullanarak iletileri taşır.

Kanallar, uzaktan aramaları taşımak için .NET Framework uzaktan iletişim altyapısı tarafından kullanılır. İstemci uzak bir nesneye çağrı yaptığında, çağrı bir istemci kanalı tarafından gönderilen ve bir sunucu kanalı tarafından alınan bir iletide seri hale getirilir. Daha sonra seri durumdan çıkarılır ve işlenir. Döndürülen değerler sunucu kanalı tarafından iletilir ve istemci kanalı tarafından alınır.

İstemci tarafında iletilerin ek işlenmesini gerçekleştirmek için, tarafından işlenen TcpClientChannel tüm iletilerin IClientChannelSinkProvider geçirildiği arabirimin bir uygulamasını belirtebilirsiniz.

Varsayılan olarak, TcpClientChannel sınıfı tüm iletileri seri hale getirmek için bir ikili biçimlendirici kullanır.

Bir TcpClientChannel nesnenin çalışma zamanında bir yapılandırma dosyasında (statik RemotingConfiguration.Configure yöntemi çağırarak) veya program aracılığıyla (bir koleksiyonu oluşturucuya geçirerek IDictionary ) ayarlanabilen TcpClientChannel ilişkili yapılandırma özellikleri vardır. Bu yapılandırma özelliklerinin listesi için TcpClientChannelbelgelerine bakın.

Oluşturucular

TcpClientChannel()

TcpClientChannel sınıfının yeni bir örneğini başlatır.

TcpClientChannel(IDictionary, IClientChannelSinkProvider)

Belirtilen yapılandırma özellikleri ve havuz ile sınıfının yeni bir örneğini TcpClientChannel başlatır.

TcpClientChannel(String, IClientChannelSinkProvider)

Belirtilen ad ve havuz ile sınıfının yeni bir örneğini TcpClientChannel başlatır.

Özellikler

ChannelName

Geçerli kanalın adını alır.

ChannelPriority

Geçerli kanalın önceliğini alır.

IsSecured

Geçerli kanalın güvenli olup olmadığını belirten bir Boole değeri alır veya ayarlar.

Yöntemler

CreateMessageSink(String, Object, String)

İletileri belirtilen URL'ye veya kanal veri nesnesine teslim eden bir kanal ileti havuzu döndürür.

Equals(Object)

Belirtilen nesnenin geçerli nesneye eşit olup olmadığını belirler.

(Devralındığı yer: Object)
GetHashCode()

Varsayılan karma işlevi işlevi görür.

(Devralındığı yer: Object)
GetType()

Type Geçerli örneğini alır.

(Devralındığı yer: Object)
MemberwiseClone()

Geçerli Objectöğesinin sığ bir kopyasını oluşturur.

(Devralındığı yer: Object)
Parse(String, String)

Belirtilen URL'den kanal URI'sini ve uzak iyi bilinen nesne URI'sini ayıklar.

ToString()

Geçerli nesneyi temsil eden dizeyi döndürür.

(Devralındığı yer: Object)

Şunlara uygulanır