Bagikan melalui


TcpClient Kelas

Definisi

Menyediakan koneksi klien untuk layanan jaringan TCP.

public ref class TcpClient : IDisposable
public class TcpClient : IDisposable
type TcpClient = class
    interface IDisposable
Public Class TcpClient
Implements IDisposable
Warisan
TcpClient
Penerapan

Contoh

Contoh kode berikut membuat TcpClient koneksi.

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

Keterangan

Kelas ini TcpClient menyediakan metode sederhana untuk menghubungkan, mengirim, dan menerima data aliran melalui jaringan dalam mode pemblokiran sinkron.

Untuk TcpClient menyambungkan dan bertukar data, TcpListener atau Socket dibuat dengan TCP ProtocolType harus mendengarkan permintaan koneksi masuk. Anda dapat tersambung ke pendengar ini dengan salah satu dari dua cara berikut:

  • TcpClient Create dan panggil salah satu dari tiga metode yang tersediaConnect.

  • TcpClient Create menggunakan nama host dan nomor port host jarak jauh. Konstruktor ini akan secara otomatis mencoba koneksi.

Catatan

Jika Anda ingin mengirim datagram tanpa koneksi dalam mode pemblokiran sinkron, gunakan UdpClient kelas .

Catatan Bagi Inheritor

Untuk mengirim dan menerima data, gunakan GetStream() metode untuk mendapatkan NetworkStream. Write(Byte[], Int32, Int32) Panggil metode dan Read(Byte[], Int32, Int32) untuk NetworkStream mengirim dan menerima data dengan host jarak jauh. Close(Int32) Gunakan metode untuk merilis semua sumber daya yang TcpClientterkait dengan .

Konstruktor

TcpClient()

Menginisialisasi instans baru kelas TcpClient.

TcpClient(AddressFamily)

Menginisialisasi instans TcpClient baru kelas dengan keluarga yang ditentukan.

TcpClient(IPEndPoint)

Menginisialisasi instans TcpClient baru kelas dan mengikatnya ke titik akhir lokal yang ditentukan.

TcpClient(String, Int32)

Menginisialisasi instans TcpClient baru kelas dan menyambungkan ke port yang ditentukan pada host yang ditentukan.

Properti

Active

Mendapatkan atau menetapkan nilai yang menunjukkan apakah koneksi telah dibuat.

Available

Mendapatkan jumlah data yang telah diterima dari jaringan dan tersedia untuk dibaca.

Client

Mendapatkan atau mengatur yang mendasar Socket.

Connected

Mendapatkan nilai yang menunjukkan apakah yang mendasar Socket untuk TcpClient terhubung ke host jarak jauh.

ExclusiveAddressUse

Mendapatkan atau menetapkan Boolean nilai yang menentukan apakah TcpClient hanya memungkinkan satu klien untuk menggunakan port.

LingerState

Mendapatkan atau mengatur informasi tentang status yang masih ada dari soket terkait.

NoDelay

Mendapatkan atau menetapkan nilai yang menonaktifkan penundaan saat buffer kirim atau terima tidak penuh.

ReceiveBufferSize

Mendapatkan atau mengatur ukuran buffer penerima.

ReceiveTimeout

Mendapatkan atau mengatur jumlah waktu tunggu TcpClient untuk menerima data setelah operasi baca dimulai.

SendBufferSize

Mendapatkan atau mengatur ukuran buffer kirim.

SendTimeout

Mendapatkan atau mengatur jumlah waktu yang TcpClient akan menunggu operasi pengiriman berhasil diselesaikan.

Metode

BeginConnect(IPAddress, Int32, AsyncCallback, Object)

Memulai permintaan asinkron untuk koneksi host jarak jauh. Host jarak jauh ditentukan oleh IPAddress dan nomor port (Int32).

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

Memulai permintaan asinkron untuk koneksi host jarak jauh. Host jarak jauh ditentukan oleh IPAddress array dan nomor port (Int32).

BeginConnect(String, Int32, AsyncCallback, Object)

Memulai permintaan asinkron untuk koneksi host jarak jauh. Host jarak jauh ditentukan oleh nama host (String) dan nomor port (Int32).

Close()

Buang instans ini TcpClient dan minta agar koneksi TCP yang mendasar ditutup.

Connect(IPAddress, Int32)

Menyambungkan klien ke host TCP jarak jauh menggunakan alamat IP dan nomor port yang ditentukan.

Connect(IPAddress[], Int32)

Menyambungkan klien ke host TCP jarak jauh menggunakan alamat IP dan nomor port yang ditentukan.

Connect(IPEndPoint)

Menyambungkan klien ke host TCP jarak jauh menggunakan titik akhir jaringan jarak jauh yang ditentukan.

Connect(String, Int32)

Menyambungkan klien ke port yang ditentukan pada host yang ditentukan.

ConnectAsync(IPAddress, Int32)

Menyambungkan klien ke host TCP jarak jauh menggunakan alamat IP dan nomor port yang ditentukan sebagai operasi asinkron.

ConnectAsync(IPAddress, Int32, CancellationToken)

Menyambungkan klien ke host TCP jarak jauh menggunakan alamat IP dan nomor port yang ditentukan sebagai operasi asinkron.

ConnectAsync(IPAddress[], Int32)

Menyambungkan klien ke host TCP jarak jauh menggunakan alamat IP dan nomor port yang ditentukan sebagai operasi asinkron.

ConnectAsync(IPAddress[], Int32, CancellationToken)

Menyambungkan klien ke host TCP jarak jauh menggunakan alamat IP dan nomor port yang ditentukan sebagai operasi asinkron.

ConnectAsync(IPEndPoint)

Menyambungkan klien ke host TCP jarak jauh menggunakan titik akhir yang ditentukan sebagai operasi asinkron.

ConnectAsync(IPEndPoint, CancellationToken)

Menyambungkan klien ke host TCP jarak jauh menggunakan titik akhir yang ditentukan sebagai operasi asinkron.

ConnectAsync(String, Int32)

Menyambungkan klien ke port TCP yang ditentukan pada host yang ditentukan sebagai operasi asinkron.

ConnectAsync(String, Int32, CancellationToken)

Menyambungkan klien ke port TCP yang ditentukan pada host yang ditentukan sebagai operasi asinkron.

Dispose()

Merilis sumber daya terkelola dan tidak terkelola yang TcpClientdigunakan oleh .

Dispose(Boolean)

Merilis sumber daya tidak terkelola yang digunakan oleh TcpClient dan secara opsional merilis sumber daya terkelola.

EndConnect(IAsyncResult)

Mengakhiri upaya koneksi asinkron yang tertunda.

Equals(Object)

Menentukan apakah objek yang ditentukan sama dengan objek saat ini.

(Diperoleh dari Object)
Finalize()

Membebaskan sumber daya yang digunakan oleh TcpClient kelas .

GetHashCode()

Berfungsi sebagai fungsi hash default.

(Diperoleh dari Object)
GetStream()

Mengembalikan data yang NetworkStream digunakan untuk mengirim dan menerima data.

GetType()

Mendapatkan dari instans Type saat ini.

(Diperoleh dari Object)
MemberwiseClone()

Membuat salinan dangkal dari saat ini Object.

(Diperoleh dari Object)
ToString()

Mengembalikan string yang mewakili objek saat ini.

(Diperoleh dari Object)

Implementasi Antarmuka Eksplisit

IDisposable.Dispose()

API ini mendukung infrastruktur produk dan tidak dimaksudkan untuk digunakan langsung dari kode Anda.

Merilis semua sumber daya yang TcpClientdigunakan oleh .

Berlaku untuk

Lihat juga