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.
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. |