TcpClient Osztály

Definíció

Ü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 TcpClient gazdagé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.

A következőre érvényes:

Lásd még