System.Net.Sockets.Socket osztály

Megjegyzés:

Ez a cikk kiegészítő megjegyzéseket tartalmaz az API referenciadokumentációjához.

Az Socket osztály számos módszert és tulajdonságot biztosít a hálózati kommunikációhoz. Az Socket osztály lehetővé teszi, hogy szinkron és aszinkron adatátvitelt is végrehajtson az ProtocolType enumerálásban felsorolt kommunikációs protokollok bármelyikével.

Az Socket osztály az aszinkron metódusok .NET-elnevezési mintáját követi. A szinkron Receive metódus például az aszinkron ReceiveAsync változatoknak felel meg.

A szinkron üzemmódhoz használja az alábbi módszereket:

  • Ha kapcsolatorientált protokollt, például TCP-t használ, a kiszolgáló a módszerrel figyelheti a Listen kapcsolatokat. A Accept metódus feldolgozza a beérkező kapcsolatkéréseket, és visszaad egy olyan objektumot Socket, amellyel adatokat oszthat meg a távoli gazdagéppel. Használja a visszaadott Socket-t a Send vagy Receive metódus meghívásához. Bind A metódus meghívása előtt hívja meg a Listen metódust, ha meg szeretné adni a helyi IP-címet és a portszámot. Használjon nulla portszámot, ha azt szeretné, hogy a mögöttes szolgáltató ingyenes portot rendeljen Önhöz. Ha egy figyelési gazdagéphez szeretne csatlakozni, hívja meg a metódust Connect . Az adatok közléséhez hívja meg a Send vagy Receive metódust.
  • Ha kapcsolat nélküli protokollt, például UDP-t használ, akkor egyáltalán nem kell figyelnie a kapcsolatokat. Hívja meg a metódust ReceiveFrom a bejövő datagramok elfogadásához. A SendTo metódussal datagramokat küldhet egy távoli gazdagépnek.

A kommunikáció aszinkron feldolgozásához használja az alábbi módszereket:

  • Ha olyan kapcsolatorientált protokollt használ, mint például a TCP, a ConnectAsync-t használja a figyelő gazdagéphez való csatlakozáshoz. Az SendAsync vagy ReceiveAsync használata adatok aszinkron kommunikálásához. A bejövő kapcsolatkérések a következővel AcceptAsyncdolgozhatók fel: .
  • Ha kapcsolat nélküli protokollt, például UDP-t használ, az adatgramok küldésére a SendToAsync, fogadására pedig a ReceiveFromAsync használható.

Ha több aszinkron műveletet hajt végre egy csatlakozón, azok nem feltétlenül a kezdési sorrendben fejeződnek be.

Ha befejezte az adatok küldését és fogadását, a Shutdown metódus használatával tiltsa le a Socket. A Shutdown meghívása után hívja meg a Close metódust, hogy felszabadítsa a Socket-hoz társított összes erőforrást.

A Socket osztály lehetővé teszi a Socket konfigurálását a SetSocketOption metódus használatával. Kérje le ezeket a beállításokat a GetSocketOption módszerrel.