TcpClient Sınıf
Tanım
Önemli
Bazı bilgiler ürünün ön sürümüyle ilgilidir ve sürüm öncesinde önemli değişiklikler yapılmış olabilir. Burada verilen bilgilerle ilgili olarak Microsoft açık veya zımni hiçbir garanti vermez.
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.
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çin TcpClient TCP TcpListener ile oluşturulan veya SocketProtocolType gelen bağlantı isteklerini dinliyor olmalıdır. Bu dinleyiciye aşağıdaki iki yoldan biriyle bağlanabilirsiniz:
TcpClientoluş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
TcpClientoluşturun. Bu oluşturucu otomatik olarak bağlantı girişiminde bulunur.
Note
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
| Name | Description |
|---|---|
| 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
| Name | Description |
|---|---|
| Active |
Bağlantı yapılıp yapılmadığını gösteren 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 |
için temel alınanın SocketTcpClient uzak bir konağa bağlı olup olmadığını gösteren 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 durumuyla ilgili 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 |
Bir 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
| Name | Description |
|---|---|
| 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) ile belirtilir. |
| BeginConnect(IPAddress[], Int32, AsyncCallback, Object) |
Uzak konak bağlantısı için zaman uyumsuz bir istek başlatır. Uzak konak bir IPAddress dizi ve bir 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 bir 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ı 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) |
Zaman uyumsuz bir işlem olarak belirtilen uç noktayı kullanarak istemciyi uzak bir TCP konağına bağlar. |
| ConnectAsync(IPEndPoint) |
Zaman uyumsuz bir işlem olarak belirtilen uç noktayı kullanarak istemciyi uzak bir TCP konağına bağlar. |
| ConnectAsync(String, Int32, CancellationToken) |
İstemciyi, zaman uyumsuz bir işlem olarak belirtilen konakta belirtilen TCP bağlantı noktasına bağlar. |
| ConnectAsync(String, Int32) |
İ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) |
tarafından TcpClient kullanılan yönetilmeyen kaynakları serbest bırakır ve isteğe bağlı olarak yönetilen kaynakları 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() |
Geçerli örneğin Type alır. (Devralındığı yer: Object) |
| MemberwiseClone() |
Geçerli Objectbasit bir kopyasını oluşturur. (Devralındığı yer: Object) |
| ToString() |
Geçerli nesneyi temsil eden bir dize döndürür. (Devralındığı yer: Object) |
Belirtik Arabirim Kullanımları
| Name | Description |
|---|---|
| IDisposable.Dispose() |
Bu API, ürün altyapısını destekler ve doğrudan kodunuzdan kullanıma yönelik değildir. tarafından TcpClientkullanılan tüm kaynakları serbest bırakır. |