Melyik hálózatkezelési technológia?

Az Windows fejlesztői számára elérhető hálózatkezelési technológiák áttekintése, valamint az alkalmazáshoz megfelelő technológiák kiválasztására vonatkozó javaslatok.

Csatlakozók

Használjon Socketeket, amikor egy másik eszközzel kommunikál, és saját protokollt szeretne használni.

A Windows-fejlesztők számára az aljzatok két implementációja érhető el: Windows.Networking.Sockets és Winsock. Ha új kódot ír, a Windows.Networking.Sockets előnye, hogy egy modern API, amelyet Windows-fejlesztők számára terveztek. Ha platformfüggetlen hálózati kódtárakat vagy más meglévő Winsock-kódot használ, vagy inkább a Winsock API-t használja, használja ezt.

Mikor érdemes socketeket használni?

  • Mindkét szoftvercsatornás implementáció lehetővé teszi, hogy más eszközökkel kommunikáljon az Ön által választott protokollok használatával, TCP vagy UDP használatával.

  • Válassza ki a tapasztalatai és az esetlegesen használt meglévő kód alapján az igényeinek leginkább megfelelő socketek API-t.

Mikor ne használjon foglalatokat?

  • Ne készítsen saját HTTP(S) stacket aljzatok használatával. Ehelyett HttpClient használjon.
  • Ha WebSockets (a StreamWebSocket és AMessageWebSocket osztályok) megfelelnek a kommunikációs igényeknek (TCP-ről webkiszolgálóra vagy webkiszolgálóról), fontolja meg a használatukat ahelyett, hogy a saját idejét és fejlesztési erőforrásait használva hasonló funkciókat valósítanának meg szoftvercsatornákkal.

WebSockets

A WebSockets protokoll egy mechanizmust határoz meg az ügyfél és a kiszolgáló közötti gyors, biztonságos kétirányú kommunikációhoz a weben. Az adatok azonnal, kétoldalas egycsatornás kapcsolaton keresztül kerülnek továbbításra, így mindkét végpontról valós időben küldhetők és fogadhatók üzenetek. A WebSocketek ideálisak valós idejű játékokhoz, ahol az azonnali közösségi hálózati értesítéseknek és up-to-date információmegjelenítéseknek (például a játékstatisztikáknak) biztonságosnak kell lenniük, és gyors adatátvitelt kell használniuk. Windows fejlesztők a StreamWebSocket és a MessageWebSocket osztályokkal csatlakozhatnak a WebSocket protokollt támogató kiszolgálókhoz.

Mikor érdemes websocketeket használni?

  • Ha folyamatosan szeretne adatokat küldeni és fogadni egy eszköz és egy kiszolgáló között.

Mikor ne használja a WebSocketeket?

  • Ha ritkán küld vagy fogad adatokat, egyszerűbb lehet az eszközről a kiszolgálóra irányuló egyedi HTTP-kéréseket létrehozni és fenntartani a WebSocket-kapcsolat létrehozása és fenntartása helyett.
  • Előfordulhat, hogy a WebSockets nem alkalmas túl nagy mennyiségű helyzetekre. Fontolja meg az adatfolyamok modellezését és a websocketeken keresztüli forgalom szimulálását, mielőtt véglegesíti azokat a tervezés során.

HttpClient

Használja HttpClient (és a többi Windows. Web.Http névtér API) akkor, ha HTTP(S) használatával kommunikál egy webszolgáltatással vagy egy webkiszolgálóval.

Mikor érdemes használni a HttpClientet?

  • Ha HTTP(S) használatával kommunikál a webszolgáltatásokkal.
  • Kis számú kisebb fájl feltöltésekor vagy letöltésekor.
  • Ha WebSockets (a StreamWebSocket és MessageWebSock a osztályok) megfelelnek a kommunikációs igényeknek (a webkiszolgálóról érkező/onnan érkező TCP-nek), és a szóban forgó webkiszolgáló támogatja a WebSocket-eket, fontolja meg a használatukat ahelyett, hogy a saját idejét és fejlesztési erőforrásait a HttpClienttel hasonló funkciókat implementálva kellene használnia.
  • Amikor tartalmat streamel a hálózaton keresztül.

Mikor ne használja a HttpClientet?

  • Ha nagy fájlokat vagy nagy számú fájlt továbbít, fontolja meg inkább a háttérátvitel használatát.
  • Ha a kapcsolat típusa alapján szeretné korlátozni a feltöltési/letöltési korlátokat, vagy ha szeretné menteni a folyamatot, és megszakítás után folytatni szeretné a feltöltést/letöltést, háttérátvitelt kell használnia.
  • Ha két eszköz között kommunikál, és egyik sem HTTP(S) kiszolgálóként van kialakítva, akkor foglalatokat kell használnia. Ne próbálja meg implementálni a saját HTTP-kiszolgálóját, és a HttpClient használatával kommunikáljon vele.

Háttérben történő átvitelek

A háttérátviteli API-t akkor használja, ha megbízhatóan szeretné átvinni a fájlokat a hálózaton keresztül. A háttérátviteli API fejlett feltöltési és letöltési funkciókat biztosít, amelyek az alkalmazás felfüggesztése során futnak a háttérben, és az alkalmazás leállása után is megmaradnak. Az API figyeli a hálózati állapotot, és automatikusan felfüggeszti és folytatja az átvitelt, amikor megszakad a kapcsolat, és az átvitel adatérzékkel és akkumulátorérzékkel is rendelkezik, ami azt jelenti, hogy a letöltési tevékenység az aktuális kapcsolat és az eszköz akkumulátorának állapota alapján módosul. Ezek a képességek elengedhetetlenek, ha az alkalmazás mobil vagy akkumulátoros eszközökön fut. Az API ideális nagy fájlok HTTP(s) használatával történő feltöltéséhez és letöltéséhez. Az FTP is támogatott, de csak letöltésekhez.

A háttérátvitel támogatja a feldolgozás utáni aktiválást, ha a fájlátvitel befejeződött, így frissítheti a helyi katalógusokat, aktiválhat más alkalmazásokat, vagy értesítheti a felhasználót a letöltés befejezésekor.

Mikor érdemes háttérátviteleket használni?

  • A háttérátvitelekkel megbízhatóan továbbíthat nagy méretű fájlokat vagy nagy mennyiségű fájlt.
  • Használjon háttérben történő átvitelt háttérátviteli folyamatbefejező csoportokkal, ha egy háttérfeladattal szeretné utófeldolgozni a fájlátvitelek eredményét.
  • Használjon háttérátvitelt, ha hálózatkimaradás után folytatni szeretné az átvitelt.
  • Háttérátvitelt akkor használjon, ha a hálózati feltételek, például a forgalmi díjas adatcsomagok alapján szeretné módosítani az átvitel viselkedését.

Mikor ne használjon háttérátvitelt?

  • Ha kis számú kis fájlt ad át, és az átvitel befejezésekor nem kell utófeldolgozást végeznie, fontolja meg a HttpClient PUT vagy POST metódusok használatát.
  • Ha az adatokat a beérkezéskor helyileg szeretné streamelni, használja a HttpClient.

Kapcsolat minősége

A Windows.Networking.Connectivity névtér API-jai lehetővé teszik a hálózati kapcsolat, a költségek és a használati adatok elérését. A ConnectionProfile osztály használatával állapítsa meg az aktuális hálózati állapotot és költséget.

DNS-szolgáltatás felderítése

A Windows.Networking.ServiceDiscovery.Dnssd API lehetővé teszi, hogy a hálózati szolgáltatást a hálózaton lévő más eszközök számára hirdesse meg az IETF RFC 2782 DNS-SD protokoll használatával.

Kommunikáció Bluetooth-kapcsolaton keresztül

Többek között a Windows. A Devices.Bluetooth API lehetővé teszi a Bluetooth használatát más eszközökhöz való csatlakozáshoz és adatok átviteléhez. További információ: Fájlok küldése vagy fogadása AZ RFCOMM használatával.

Push értesítések (WNS)

A Windows. A Networking.PushNotifications API lehetővé teszi, hogy a Windows Notification Service (WNS) használatával leküldéses értesítéseket fogadjon a hálózaton keresztül. További információ az API használatáról: Windows Leküldéses értesítési szolgáltatások (WNS) áttekintése

Közelmezős kommunikáció (NFC)

A Windows.Networking.Proximity API lehetővé teszi a közelségi kommunikáció alkalmazását, vagy az eszközökkel való koppintást a könnyű adatátvitel érdekében. Az API használatával kapcsolatos további információkért lásd a Közelség és koppintás című témakört.

RSS/Atom-hírcsatornák

A Windows. A Web.Syndication API lehetővé teszi a szindikációs hírcsatornák RSS- és Atom-formátumok használatával történő kezelését. Az API használatáról további információt az RSS/Atom-hírcsatornákban talál.

Wi-Fi számbavétel és kapcsolatvezérlés

A Windows. A Devices.WiFi API lehetővé teszi Wi-Fi adapterek számbavételét, az elérhető Wi-Fi hálózatok keresését és egy adapter hálózati csatlakoztatását.

Rádióvezérlés

A Windows. A Devices.Radios API lehetővé teszi a helyi eszköz rádióinak megkeresését és vezérlését, beleértve a Wi-Fi és a Bluetooth használatát.

Wi-Fi közvetlen

A Windows.Devices.WiFiDirect API lehetővé teszi, hogy a Wi-Fi Direct használatával csatlakozzon és kommunikáljon más helyi eszközökkel, ad-hoc helyi vezeték nélküli hálózatokat hozva létre.

Wi-Fi Direct szolgáltatások

A Windows. A Devices.WiFiDirect.Services API lehetővé teszi, hogy Wi-Fi Közvetlen szolgáltatásokat biztosítson, és csatlakozzon hozzájuk. Wi-Fi Direct Services az, ahogyan egy Wi-Fi közvetlen alkalmi hálózaton (a Szolgáltatáshirdetőn) lévő egyik eszköz képességeket kínál egy másik eszköznek (a Szolgáltatáskeresőnek) egy Wi-Fi Közvetlen kapcsolaton keresztül.

Mobilszolgáltatók

Windows a fejlesztők széles közönségének tesz elérhetővé olyan API-kat, amelyek korábban csak az eszközgyártók és a mobilszolgáltatók számára voltak kitéve. Vegye figyelembe, hogy bár ezek az API-k most már elérhetők, a közzététel előtt a Microsoftnak jóvá kell hagynia a hozzájuk szükséges bizonyos alkalmazásképességeket. Ezeknek az API-knak a tényleges használata továbbra is elsősorban az eszközgyártókra és a mobilszolgáltatókra korlátozódik.

Hálózati műveletek

A Windows. Networking.NetworkOperators AZ API elsősorban a telefonok konfigurálásával és kiépítésével foglalkozik. Ezért az azt vezérlő képességek használatára vonatkozó engedély az eszközgyártókra és a távközlési szolgáltatókra korlátozódik.

SMS

A Windows. A Devices.Sms névtér alacsony szintű entitásként kezeli az SMS-eket és a kapcsolódó üzeneteket. A mobilszolgáltatók az alkalmazás által irányított SMS-használathoz használják, és olyan képesség szabályozza, amelyet a legtöbb alkalmazásfejlesztő nem hagy jóvá. Ha egy alkalmazást ír az üzenetek kezelésére, használja a Windows. Az ApplicationModel.Chat API-t úgy tervezték, hogy ne csak az SMS-üzeneteket kezelje, hanem más forrásokból, például valós idejű csevegőalkalmazásokból érkező üzeneteket is, így sokkal gazdagabb csevegési/üzenetkezelési élményt tesz lehetővé.