TcpClient Sınıf

Tanım

TCP ağ hizmetleri için istemci bağlantıları sağlar.

public ref class TcpClient : IDisposable
public class TcpClient : IDisposable
type TcpClient = class
    interface IDisposable
Public Class TcpClient
Implements IDisposable
Devralma
TcpClient
Uygulamalar

Örnekler

Aşağıdaki kod örneği bir TcpClient bağlantı kurar.

void Connect( String^ server, String^ message )
{
   try
   {
      // Create a TcpClient.
      // Note, for this client to work you need to have a TcpServer 
      // connected to the same address as specified by the server, port
      // combination.
      Int32 port = 13000;
      TcpClient^ client = gcnew TcpClient( server,port );
      
      // Translate the passed message into ASCII and store it as a Byte array.
      array<Byte>^data = Text::Encoding::ASCII->GetBytes( message );
      
      // Get a client stream for reading and writing.
      //  Stream stream = client->GetStream();

      NetworkStream^ stream = client->GetStream();
      
      // Send the message to the connected TcpServer. 
      stream->Write( data, 0, data->Length );

      Console::WriteLine( "Sent: {0}", message );
      
      // Receive the TcpServer::response.

      // Buffer to store the response bytes.
      data = gcnew array<Byte>(256);

      // String to store the response ASCII representation.
      String^ responseData = String::Empty;
      
      // Read the first batch of the TcpServer response bytes.
      Int32 bytes = stream->Read( data, 0, data->Length );
      responseData = Text::Encoding::ASCII->GetString( data, 0, bytes );
      Console::WriteLine( "Received: {0}", responseData );
      
      // Close everything.
      client->Close();
   }
   catch ( ArgumentNullException^ e ) 
   {
      Console::WriteLine( "ArgumentNullException: {0}", e );
   }
   catch ( SocketException^ e ) 
   {
      Console::WriteLine( "SocketException: {0}", e );
   }

   Console::WriteLine( "\n Press Enter to continue..." );
   Console::Read();
}
static void Connect(String server, String message)
{
  try
  {
    // Create a TcpClient.
    // Note, for this client to work you need to have a TcpServer
    // connected to the same address as specified by the server, port
    // combination.
    Int32 port = 13000;
    TcpClient client = new TcpClient(server, port);

    // Translate the passed message into ASCII and store it as a Byte array.
    Byte[] data = System.Text.Encoding.ASCII.GetBytes(message);

    // Get a client stream for reading and writing.
   //  Stream stream = client.GetStream();

    NetworkStream stream = client.GetStream();

    // Send the message to the connected TcpServer.
    stream.Write(data, 0, data.Length);

    Console.WriteLine("Sent: {0}", message);

    // Receive the TcpServer.response.

    // Buffer to store the response bytes.
    data = new Byte[256];

    // String to store the response ASCII representation.
    String responseData = String.Empty;

    // Read the first batch of the TcpServer response bytes.
    Int32 bytes = stream.Read(data, 0, data.Length);
    responseData = System.Text.Encoding.ASCII.GetString(data, 0, bytes);
    Console.WriteLine("Received: {0}", responseData);

    // Close everything.
    stream.Close();
    client.Close();
  }
  catch (ArgumentNullException e)
  {
    Console.WriteLine("ArgumentNullException: {0}", e);
  }
  catch (SocketException e)
  {
    Console.WriteLine("SocketException: {0}", e);
  }

  Console.WriteLine("\n Press Enter to continue...");
  Console.Read();
}
Shared Sub Connect(server As [String], message As [String])
   Try
      ' Create a TcpClient.
      ' Note, for this client to work you need to have a TcpServer 
      ' connected to the same address as specified by the server, port
      ' combination.
      Dim port As Int32 = 13000
      Dim client As New TcpClient(server, port)
      
      ' Translate the passed message into ASCII and store it as a Byte array.
      Dim data As [Byte]() = System.Text.Encoding.ASCII.GetBytes(message)
      
      ' Get a client stream for reading and writing.
      '  Stream stream = client.GetStream();
      Dim stream As NetworkStream = client.GetStream()
      
      ' Send the message to the connected TcpServer. 
      stream.Write(data, 0, data.Length)
      
      Console.WriteLine("Sent: {0}", message)
      
      ' Receive the TcpServer.response.
      ' Buffer to store the response bytes.
      data = New [Byte](256) {}
      
      ' String to store the response ASCII representation.
      Dim responseData As [String] = [String].Empty
      
      ' Read the first batch of the TcpServer response bytes.
      Dim bytes As Int32 = stream.Read(data, 0, data.Length)
      responseData = System.Text.Encoding.ASCII.GetString(data, 0, bytes)
      Console.WriteLine("Received: {0}", responseData)
      
      ' Close everything.
      stream.Close()
      client.Close()
   Catch e As ArgumentNullException
      Console.WriteLine("ArgumentNullException: {0}", e)
   Catch e As SocketException
      Console.WriteLine("SocketException: {0}", e)
   End Try
   
   Console.WriteLine(ControlChars.Cr + " Press Enter to continue...")
   Console.Read()
End Sub

Açıklamalar

TcpClient sınıfı, zaman uyumlu engelleme modunda ağ üzerinden akış verilerini bağlamak, göndermek ve almak için basit yöntemler sağlar.

Bağlanmak ve veri alışverişi yapmak için TcpClient TCP TcpListener ProtocolType ile oluşturulan veya Socket gelen bağlantı isteklerini dinliyor olmalıdır. Bu dinleyiciye aşağıdaki iki yoldan biriyle bağlanabilirsiniz:

  • TcpClient bir oluşturun ve kullanılabilir Connect üç yöntemden birini çağırın.

  • Uzak konağın ana bilgisayar adını ve bağlantı noktası numarasını kullanarak bir TcpClient oluşturun. Bu oluşturucu otomatik olarak bağlantı girişiminde bulunur.

Not

Zaman uyumlu engelleme modunda bağlantısız veri birimleri göndermek istiyorsanız sınıfını UdpClient kullanın.

Devralanlara Notlar

Veri göndermek ve almak için yöntemini kullanarak GetStream() bir NetworkStreamalın. Write(Byte[], Int32, Int32) Uzak konakla veri göndermek ve almak için ve Read(Byte[], Int32, Int32) yöntemlerini NetworkStream çağırın. Close(Int32) ile TcpClientilişkili tüm kaynakları serbest bırakmak için yöntemini kullanın.

Oluşturucular

TcpClient()

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

TcpClient(AddressFamily)

Belirtilen aile ile sınıfının yeni bir örneğini TcpClient başlatır.

TcpClient(IPEndPoint)

sınıfının yeni bir örneğini TcpClient başlatır ve belirtilen yerel uç noktaya bağlar.

TcpClient(String, Int32)

sınıfının yeni bir örneğini TcpClient başlatır ve belirtilen konakta belirtilen bağlantı noktasına bağlanır.

Özellikler

Active

Bağlantının yapılıp yapılmadığını belirten bir değer alır veya ayarlar.

Available

Ağdan alınan ve okunabilecek veri miktarını alır.

Client

Temel alınan Socketöğesini alır veya ayarlar.

Connected

bir için TcpClient temel alınanın Socket uzak bir konağa bağlı olup olmadığını belirten bir değer alır.

ExclusiveAddressUse

yalnızca bir Boolean istemcinin bağlantı noktası kullanmasına izin verip vermediğini TcpClient belirten bir değer alır veya ayarlar.

LingerState

İlişkili yuvanın kalan durumu hakkındaki bilgileri alır veya ayarlar.

NoDelay

Gönderme veya alma arabellekleri dolu olmadığında gecikmeyi devre dışı bırakan bir değeri alır veya ayarlar.

ReceiveBufferSize

Alma arabelleğinin boyutunu alır veya ayarlar.

ReceiveTimeout

Okuma işlemi başlatıldıktan sonra veri TcpClient almak için bekleyeceği süreyi alır veya ayarlar.

SendBufferSize

Gönderme arabelleğinin boyutunu alır veya ayarlar.

SendTimeout

Bir gönderme işleminin başarıyla tamamlanmasını bekleyeceği süreyi TcpClient alır veya ayarlar.

Yöntemler

BeginConnect(IPAddress, Int32, AsyncCallback, Object)

Uzak konak bağlantısı için zaman uyumsuz bir istek başlatır. Uzak ana bilgisayar bir IPAddress ve bağlantı noktası numarası (Int32) tarafından belirtilir.

BeginConnect(IPAddress[], Int32, AsyncCallback, Object)

Uzak konak bağlantısı için zaman uyumsuz bir istek başlatır. Uzak ana bilgisayar bir IPAddress dizi ve bağlantı noktası numarası (Int32) tarafından belirtilir.

BeginConnect(String, Int32, AsyncCallback, Object)

Uzak konak bağlantısı için zaman uyumsuz bir istek başlatır. Uzak ana bilgisayar bir ana bilgisayar adı (String) ve bağlantı noktası numarası (Int32) ile belirtilir.

Close()

Bu TcpClient örneği atar ve temel alınan TCP bağlantısının kapatılmasını ister.

Connect(IPAddress, Int32)

Belirtilen IP adresini ve bağlantı noktası numarasını kullanarak istemciyi uzak bir TCP konağına bağlar.

Connect(IPAddress[], Int32)

Belirtilen IP adreslerini ve bağlantı noktası numarasını kullanarak istemciyi uzak bir TCP konağına bağlar.

Connect(IPEndPoint)

Belirtilen uzak ağ uç noktasını kullanarak istemciyi bir uzak TCP konağına bağlar.

Connect(String, Int32)

İstemciyi belirtilen konakta belirtilen bağlantı noktasına bağlar.

ConnectAsync(IPAddress, Int32)

Belirtilen IP adresini ve bağlantı noktası numarasını zaman uyumsuz bir işlem olarak kullanarak istemciyi uzak bir TCP konağına bağlar.

ConnectAsync(IPAddress, Int32, CancellationToken)

Belirtilen IP adresini ve bağlantı noktası numarasını zaman uyumsuz bir işlem olarak kullanarak istemciyi uzak bir TCP konağına bağlar.

ConnectAsync(IPAddress[], Int32)

Belirtilen IP adreslerini ve bağlantı noktası numarasını zaman uyumsuz bir işlem olarak kullanarak istemciyi uzak bir TCP konağına bağlar.

ConnectAsync(IPAddress[], Int32, CancellationToken)

Belirtilen IP adreslerini ve bağlantı noktası numarasını zaman uyumsuz bir işlem olarak kullanarak istemciyi uzak bir TCP konağına bağlar.

ConnectAsync(IPEndPoint)

Belirtilen uç noktayı zaman uyumsuz bir işlem olarak kullanarak istemciyi uzak bir TCP konağına bağlar.

ConnectAsync(IPEndPoint, CancellationToken)

Belirtilen uç noktayı zaman uyumsuz bir işlem olarak kullanarak istemciyi uzak bir TCP konağına bağlar.

ConnectAsync(String, Int32)

İstemciyi, zaman uyumsuz bir işlem olarak belirtilen konakta belirtilen TCP bağlantı noktasına bağlar.

ConnectAsync(String, Int32, CancellationToken)

İstemciyi, zaman uyumsuz bir işlem olarak belirtilen konakta belirtilen TCP bağlantı noktasına bağlar.

Dispose()

tarafından TcpClientkullanılan yönetilen ve yönetilmeyen kaynakları serbest bırakır.

Dispose(Boolean)

TcpClient tarafından kullanılan yönetilmeyen kaynakları serbest bırakır ve yönetilen kaynakları isteğe bağlı olarak serbest bırakır.

EndConnect(IAsyncResult)

Bekleyen zaman uyumsuz bağlantı girişimini sonlandırır.

Equals(Object)

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

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

Sınıfı tarafından TcpClient kullanılan kaynakları serbesttir.

GetHashCode()

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

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

Veri göndermek ve almak için kullanılan değerini NetworkStream döndürür.

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

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

(Devralındığı yer: Object)

Belirtik Arabirim Kullanımları

IDisposable.Dispose()

Bu API, ürün altyapısını destekler ve doğrudan kodunuzdan kullanıma yönelik değildir.

TcpClient tarafından kullanılan tüm kaynakları serbest bırakır.

Şunlara uygulanır

Ayrıca bkz.