Aracılığıyla paylaş


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 )
{
   TcpClient^ client = nullptr;
   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;
      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.
      NetworkStream^ stream = client->GetStream();
      
      // Send the message to the connected TcpServer. 
      stream->Write( data, 0, data->Length );

      Console::WriteLine( "Sent: {0}", message );
      
      // Receive the server 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 );
      
      // Explicit close is not necessary since TcpClient::Dispose() will be
      // called automatically in finally block.
      // stream->Close();
      // client->Close();
   }
   catch ( ArgumentNullException^ e ) 
   {
      Console::WriteLine( "ArgumentNullException: {0}", e );
   }
   catch ( SocketException^ e ) 
   {
      Console::WriteLine( "SocketException: {0}", e );
   }
   finally
   {
      if (client != nullptr)
         delete client;
   }

   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;

    // Prefer a using declaration to ensure the instance is Disposed later.
    using 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.
    NetworkStream stream = client.GetStream();

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

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

    // Receive the server 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);

    // Explicit close is not necessary since TcpClient.Dispose() will be
    // called automatically.
    // 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

      ' Prefer using declaration to ensure the instance is Disposed later.
      Using 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.
         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 server 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)
         
         ' Explicit close is not necessary since TcpClient.Dispose() will be
         ' called automatically.
         ' stream.Close()
         ' client.Close()
      End Using
   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çinTcpClient, TCP ProtocolType ile oluşturulan veya SocketTcpListener gelen bağlantı isteklerini dinliyor olmalıdır. Bu dinleyiciye aşağıdaki iki yoldan biriyle bağlanabilirsiniz:

  • İçerik Oluşturucu TcpClient 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 İçerik Oluşturucu. Bu oluşturucu otomatik olarak bağlantı kurmaya çalışır.

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) Read(Byte[], Int32, Int32) Uzak ana bilgisayarla veri göndermek ve almak için ve 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ı 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 konak bir IPAddress ve bağlantı noktası numarası (Int32 ile 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 ile 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 bir bağlantı noktası numarası (Int32) ile belirtilir.

Close()

Bu TcpClient örneği atıp temel alınan TCP bağlantısının kapatılmasını istemektedir.

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, 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 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 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)

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, CancellationToken)

Belirtilen uç noktayı 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(String, Int32, CancellationToken)

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

ConnectAsync(String, Int32)

İstemciyi belirtilen konakta belirtilen TCP bağlantı noktasına zaman uyumsuz bir işlem olarak 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.