TcpClient Kelas
Definisi
Penting
Beberapa informasi terkait produk prarilis yang dapat diubah secara signifikan sebelum dirilis. Microsoft tidak memberikan jaminan, tersirat maupun tersurat, sehubungan dengan informasi yang diberikan di sini.
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 . |