TcpClient Osztály
Definíció
Fontos
Egyes információk olyan, kiadás előtti termékekre vonatkoznak, amelyek a kiadásig még jelentősen módosulhatnak. A Microsoft nem vállal kifejezett vagy törvényi garanciát az itt megjelenő információért.
Ügyfélkapcsolatokat biztosít a TCP hálózati szolgáltatásokhoz.
public ref class TcpClient : IDisposable
public class TcpClient : IDisposable
type TcpClient = class
interface IDisposable
Public Class TcpClient
Implements IDisposable
- Öröklődés
-
TcpClient
- Megvalósítás
Példák
Az alábbi példakód egy TcpClient kapcsolatot hoz létre.
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
Megjegyzések
Az TcpClient osztály egyszerű módszereket kínál a streamadatok szinkronizálási blokkolási módban való csatlakoztatására, küldésére és fogadására egy hálózaton keresztül.
TcpClient A csatlakozáshoz és az adatok TcpListener cseréjéhez a TCP-vel Socket létrehozott vagy ProtocolType létrehozott rendszernek figyelnie kell a bejövő kapcsolatkéréseket. A figyelőhöz az alábbi két módon csatlakozhat:
Hozzon létre egy,
TcpClientés hívja meg a három elérhető Connect módszer egyikét.Hozzon létre egy távoli
TcpClientgazdagép gazdanevét és portszámát használva. Ez a konstruktor automatikusan megkísérli a kapcsolatot.
Note
Ha szinkron blokkoló módban szeretné elküldeni a kapcsolat nélküli datagramokat, használja az osztályt UdpClient .
Megjegyzések az öröklőkhöz
Adatok küldéséhez és fogadásához használja a GetStream() metódust egy NetworkStream. Hívja meg az Write(Byte[], Int32, Int32)Read(Byte[], Int32, Int32) adatok távoli gazdagéppel való küldéséhez és fogadásához használható módszereket és metódusokat NetworkStream . A metódussal Close(Int32) a programhoz társított TcpClientösszes erőforrást felszabadíthatja.
Konstruktorok
| Name | Description |
|---|---|
| TcpClient() |
Inicializálja a TcpClient osztály új példányát. |
| TcpClient(AddressFamily) |
Inicializálja az osztály új példányát TcpClient a megadott családdal. |
| TcpClient(IPEndPoint) |
Inicializálja az TcpClient osztály új példányát, és a megadott helyi végponthoz köti. |
| TcpClient(String, Int32) |
Inicializálja az TcpClient osztály új példányát, és csatlakozik a megadott gazdagép megadott portjához. |
Tulajdonságok
| Name | Description |
|---|---|
| Active |
Lekéri vagy beállít egy értéket, amely jelzi, hogy létrejött-e kapcsolat. |
| Available |
Lekéri a hálózatról kapott és olvasható adatok mennyiségét. |
| Client |
Lekéri vagy beállítja a mögöttes elemet Socket. |
| Connected |
Lekérdez egy értéket, amely jelzi, hogy a mögöttes Socket egy TcpClient távoli gazdagéphez van-e csatlakoztatva. |
| ExclusiveAddressUse |
Lekéri vagy beállít egy Boolean értéket, amely meghatározza, hogy csak TcpClient egy ügyfél használhat-e portot. |
| LingerState |
Lekéri vagy beállítja a társított szoftvercsatorna eltelő állapotával kapcsolatos információkat. |
| NoDelay |
Lekéri vagy beállít egy értéket, amely letiltja a késleltetést, ha a küldési vagy fogadási pufferek nincsenek megtelve. |
| ReceiveBufferSize |
Lekéri vagy beállítja a fogadó puffer méretét. |
| ReceiveTimeout |
Lekéri vagy beállítja azt az időtartamot, amíg a TcpClient rendszer várakozik az adatok fogadására az olvasási művelet kezdeményezése után. |
| SendBufferSize |
Lekéri vagy beállítja a küldési puffer méretét. |
| SendTimeout |
Lekéri vagy beállítja azt az időtartamot, amíg TcpClient egy küldési művelet sikeresen befejeződik. |
Metódusok
| Name | Description |
|---|---|
| BeginConnect(IPAddress, Int32, AsyncCallback, Object) |
Elindít egy aszinkron kérést egy távoli gazdakapcsolathoz. A távoli gazdagépet egy és egy IPAddress portszám (Int32) adja meg. |
| BeginConnect(IPAddress[], Int32, AsyncCallback, Object) |
Elindít egy aszinkron kérést egy távoli gazdakapcsolathoz. A távoli gazdagépet egy tömb és egy IPAddress portszám (Int32) adja meg. |
| BeginConnect(String, Int32, AsyncCallback, Object) |
Elindít egy aszinkron kérést egy távoli gazdakapcsolathoz. A távoli gazdagépet egy állomásnév (String) és egy portszám (Int32) adja meg. |
| Close() |
A példányt megsemmisíti TcpClient , és a mögöttes TCP-kapcsolat bezárását kéri. |
| Connect(IPAddress, Int32) |
Csatlakoztatja az ügyfelet egy távoli TCP-gazdagéphez a megadott IP-cím és portszám használatával. |
| Connect(IPAddress[], Int32) |
Csatlakoztatja az ügyfelet egy távoli TCP-gazdagéphez a megadott IP-címekkel és portszámmal. |
| Connect(IPEndPoint) |
Csatlakoztatja az ügyfelet egy távoli TCP-gazdagéphez a megadott távoli hálózati végpont használatával. |
| Connect(String, Int32) |
Csatlakoztatja az ügyfelet a megadott gazdagép megadott portjához. |
| ConnectAsync(IPAddress, Int32, CancellationToken) |
Az ügyfelet egy távoli TCP-gazdagéphez csatlakoztatja a megadott IP-cím és portszám használatával aszinkron műveletként. |
| ConnectAsync(IPAddress, Int32) |
Az ügyfelet egy távoli TCP-gazdagéphez csatlakoztatja a megadott IP-cím és portszám használatával aszinkron műveletként. |
| ConnectAsync(IPAddress[], Int32, CancellationToken) |
Az ügyfelet egy távoli TCP-gazdagéphez csatlakoztatja a megadott IP-címekkel és portszámmal aszinkron műveletként. |
| ConnectAsync(IPAddress[], Int32) |
Az ügyfelet egy távoli TCP-gazdagéphez csatlakoztatja a megadott IP-címekkel és portszámmal aszinkron műveletként. |
| ConnectAsync(IPEndPoint, CancellationToken) |
Csatlakoztatja az ügyfelet egy távoli TCP-gazdagéphez a megadott végponttal aszinkron műveletként. |
| ConnectAsync(IPEndPoint) |
Csatlakoztatja az ügyfelet egy távoli TCP-gazdagéphez a megadott végponttal aszinkron műveletként. |
| ConnectAsync(String, Int32, CancellationToken) |
Aszinkron műveletként csatlakoztatja az ügyfelet a megadott állomás megadott TCP-portjához. |
| ConnectAsync(String, Int32) |
Aszinkron műveletként csatlakoztatja az ügyfelet a megadott állomás megadott TCP-portjához. |
| Dispose() |
Felszabadítja a felügyelt és nem felügyelt erőforrásokat, amelyeket a TcpClient. |
| Dispose(Boolean) |
Felszabadítja a felügyelt erőforrások által TcpClient használt nem felügyelt erőforrásokat, és opcionálisan felszabadítja a felügyelt erőforrásokat. |
| EndConnect(IAsyncResult) |
Befejez egy függőben lévő aszinkron kapcsolati kísérletet. |
| Equals(Object) |
Meghatározza, hogy a megadott objektum egyenlő-e az aktuális objektummal. (Öröklődés forrása Object) |
| Finalize() |
Felszabadítja az TcpClient osztály által használt erőforrásokat. |
| GetHashCode() |
Ez az alapértelmezett kivonatoló függvény. (Öröklődés forrása Object) |
| GetStream() |
NetworkStream Az adatok küldéséhez és fogadásához használt adatokat adja vissza. |
| GetType() |
Lekéri az Type aktuális példányt. (Öröklődés forrása Object) |
| MemberwiseClone() |
Az aktuális Objectpéldány sekély másolatát hozza létre. (Öröklődés forrása Object) |
| ToString() |
Az aktuális objektumot jelképező sztringet ad vissza. (Öröklődés forrása Object) |
Explicit interfész-implementációk
| Name | Description |
|---|---|
| IDisposable.Dispose() |
Ez az API a termékinfrastruktúrát támogatja, és közvetlenül a kódból nem használható. Felszabadítja a .-hez használt összes erőforrást TcpClient. |