Teknologi jaringan mana?
Gambaran umum teknologi jaringan yang tersedia untuk pengembang UWP, dengan saran tentang cara memilih teknologi yang tepat untuk aplikasi Anda.
Soket
Gunakan Soket saat Anda berkomunikasi dengan perangkat lain dan ingin menggunakan protokol Anda sendiri.
Dua implementasi soket tersedia untuk pengembang Platform Windows Universal (UWP): Windows.Networking.Sockets, dan Winsock. Jika Anda menulis kode baru, maka Windows.Networking.Sockets memiliki keuntungan menjadi API modern, yang dirancang untuk digunakan oleh pengembang UWP. Jika Anda menggunakan pustaka jaringan lintas platform atau kode Winsock lain yang ada, atau lebih suka API Winsock, gunakan itu.
Kapan menggunakan soket
Kedua implementasi soket memungkinkan Anda berkomunikasi dengan perangkat lain menggunakan protokol pilihan Anda sendiri, menggunakan TCP atau UDP.
Pilih API soket yang paling sesuai dengan kebutuhan Anda berdasarkan pengalaman dan kode yang ada yang mungkin Anda gunakan.
Kapan tidak menggunakan soket
- Jangan terapkan tumpukan HTTP Anda sendiri menggunakan soket. Gunakan HttpClient sebagai gantinya.
- Jika Kelas WebSocket ( Kelas StreamWebSocket dan MessageWebSocket ) memenuhi kebutuhan komunikasi Anda (TCP ke/dari server web), pertimbangkan untuk menggunakannya daripada menghabiskan waktu Anda sendiri dan sumber daya pengembangan yang menerapkan fungsionalitas serupa dengan soket.
Websocket
Protokol WebSockets mendefinisikan mekanisme untuk komunikasi dua arah yang cepat dan aman antara klien dan server melalui web. Data segera ditransfer melalui koneksi soket tunggal dupleks penuh, memungkinkan pesan dikirim dan diterima dari kedua titik akhir secara real time. WebSocket sangat ideal untuk digunakan dalam game real-time di mana pemberitahuan jaringan sosial instan dan tampilan informasi terbaru (seperti statistik game) harus aman dan menggunakan transfer data yang cepat. Pengembang UWP dapat menggunakan kelas StreamWebSocket dan MessageWebSocket untuk terhubung dengan server yang mendukung protokol Websocket.
Kapan menggunakan Websockets
- Saat Anda ingin mengirim dan menerima data secara berkelanjutan antara perangkat dan server.
Kapan tidak menggunakan Websockets
- Jika Anda jarang mengirim atau menerima data, Anda mungkin merasa lebih mudah untuk membuat permintaan HTTP individual dari perangkat ke server, daripada membuat dan memelihara koneksi WebSocket.
- WebSocket mungkin tidak cocok untuk situasi volume yang sangat tinggi. Pertimbangkan untuk memodelkan aliran data Anda dan mensimulasikan lalu lintas Anda melalui WebSocket sebelum berkomitmen untuk menggunakannya dalam desain Anda.
HttpClient
Gunakan HttpClient (dan sisa API namespace Windows.Web.Http) saat Anda menggunakan HTTP(S) untuk berkomunikasi dengan layanan web atau server web.
Kapan menggunakan HttpClient
- Saat menggunakan HTTP untuk berkomunikasi dengan layanan web.
- Saat mengunggah atau mengunduh sejumlah kecil file yang lebih kecil.
- Jika WebSockets ( kelas StreamWebSocket dan MessageWebSocket ) memenuhi kebutuhan komunikasi Anda (TCP ke/dari server web), dan server web yang dimaksud mendukung WebSocket, pertimbangkan untuk menggunakannya daripada menghabiskan waktu Anda sendiri dan sumber daya pengembangan yang menerapkan fungsionalitas serupa dengan HttpClient.
- Ketika Anda melakukan streaming konten melalui jaringan.
Kapan tidak menggunakan HttpClient
- Jika Anda mentransfer file besar, atau file dalam jumlah besar, pertimbangkan untuk menggunakan transfer latar belakang sebagai gantinya.
- Jika Anda ingin dapat membatasi batas unggah/unduh berdasarkan jenis koneksi, atau jika Anda ingin menyimpan kemajuan dan melanjutkan unggah/unduh setelah gangguan, Anda harus menggunakan transfer latar belakang.
- Jika Anda berkomunikasi antara dua perangkat dan tidak satu pun dirancang untuk bertindak sebagai server HTTP,Anda harus menggunakan soket. Jangan mencoba menerapkan server HTTP Anda sendiri dan gunakan HttpClient untuk berkomunikasi dengannya.
Transfer latar belakang
Gunakan API transfer latar belakang saat Anda ingin mentransfer file dengan andal melalui jaringan. API transfer latar belakang menyediakan fitur pengunggahan dan pengunduhan lanjutan yang berjalan di latar belakang selama penangguhan aplikasi dan bertahan di luar penghentian aplikasi. API memantau status jaringan dan secara otomatis menangguhkan dan melanjutkan transfer saat konektivitas hilang, dan transfer juga Sadar Akan Data dan Sadar Akan Baterai, yang berarti aktivitas pengunduhan menyesuaikan berdasarkan konektivitas dan status baterai perangkat Anda saat ini. Kemampuan ini sangat penting saat aplikasi Anda berjalan di perangkat seluler atau bertenaga baterai. API sangat ideal untuk mengunggah dan mengunduh file besar menggunakan HTTP(S). FTP juga didukung, tetapi hanya untuk unduhan.
Fitur transfer latar belakang baru di Windows 10 adalah kemampuan untuk memicu pasca-pemrosesan ketika transfer file telah selesai, sehingga Anda dapat memperbarui katalog lokal, mengaktifkan aplikasi lain, atau memberi tahu pengguna ketika unduhan selesai.
Kapan menggunakan transfer latar belakang
- Gunakan transfer latar belakang untuk mentransfer file besar dengan andal, atau file dalam jumlah besar.
- Gunakan transfer latar belakang dengan grup penyelesaian transfer latar belakang saat Anda ingin mentransfer file pasca-proses dengan tugas latar belakang.
- Gunakan transfer latar belakang jika Anda ingin dapat melanjutkan transfer yang sedang berlangsung setelah gangguan jaringan.
- Gunakan transfer latar belakang jika Anda ingin dapat mengubah perilaku transfer berdasarkan kondisi jaringan seperti berada pada paket data terukur.
Kapan tidak menggunakan transfer latar belakang
- Jika Anda mentransfer sejumlah kecil file kecil, dan Anda tidak perlu melakukan pasca-pemrosesan ketika transfer selesai, pertimbangkan untuk menggunakan metode HttpClient PUT atau POST.
- Jika Anda ingin melakukan streaming data dan menggunakannya secara lokal saat data tiba, gunakan HttpClient.
Teknologi terkait jaringan tambahan
Kualitas koneksi
API di namespace layanan Windows.Networking.Connectivity memungkinkan Anda mengakses konektivitas jaringan, biaya, dan informasi penggunaan. Untuk informasi selengkapnya tentang menggunakan API ini, lihat Mengakses status koneksi jaringan dan mengelola biaya jaringan.
Penemuan Layanan DNS
WINDOWS.Networking.ServiceDiscovery.Dnssd API memungkinkan Anda mengiklankan layanan jaringan ke perangkat lain di jaringan menggunakan protokol DNS-SD yang dijelaskan dalam IETF RFC 2782.
Berkomunikasi melalui Bluetooth
Antara lain, WINDOWS.Devices.Bluetooth API memungkinkan Anda menggunakan Bluetooth untuk terhubung ke perangkat lain dan mentransfer data. Untuk informasi selengkapnya, lihat Mengirim atau menerima file dengan RFCOMM.
Pemberitahuan push (WNS)
WINDOWS.Networking.PushNotifications API memungkinkan Anda menggunakan Windows Notification Service (WNS) untuk menerima pemberitahuan push melalui jaringan. Untuk informasi selengkapnya tentang menggunakan API ini, lihat Gambaran umum Windows Push Notification Services (WNS)
Komunikasi bidang dekat
WINDOWS.Networking.Proximity API memungkinkan Anda menggunakan komunikasi di dekat bidang untuk aplikasi yang menggunakan kedekatan atau ketuk dengan perangkat untuk mengaktifkan transfer data yang mudah. Untuk informasi selengkapnya tentang menggunakan API ini, lihat Kedekatan dan ketukan.
Umpan RSS/Atom
WINDOWS.Web.Syndication API memungkinkan Anda mengelola umpan sindikasi menggunakan format RSS dan Atom. Untuk informasi selengkapnya tentang menggunakan API ini, lihat umpan RSS/Atom.
Enumerasi Wi-Fi dan kontrol koneksi
WINDOWS.Devices.WiFi API memungkinkan Anda menghitung adaptor Wi-Fi, memindai jaringan Wi-Fi yang tersedia, dan menyambungkan adaptor ke jaringan.
Kontrol radio
WINDOWS.Devices.Radios API memungkinkan Anda menemukan dan mengontrol radio di perangkat lokal, termasuk Wi-Fi dan Bluetooth.
Wi-Fi Direct
WINDOWS.Devices.WiFiDirect API memungkinkan Anda untuk terhubung dan berkomunikasi dengan perangkat lokal lainnya menggunakan Wi-Fi Direct untuk membuat jaringan nirkabel lokal ad-hoc.
Layanan Wi-Fi Direct
API Windows.Devices.WiFiDirect.Services memungkinkan Anda menyediakan layanan Wi-Fi Direct dan terhubung ke layanan tersebut. Layanan Langsung Wi-Fi adalah cara satu perangkat di jaringan ad-hoc langsung Wi-Fi (Pengiklan Layanan) menawarkan kemampuan ke perangkat lain (Pencari Layanan) melalui koneksi Wi-Fi Direct.
Operator seluler
Windows 10 mengekspos ke audiens pengembang yang luas beberapa API yang sebelumnya hanya diekspos ke produsen perangkat dan operator seluler. Perhatikan bahwa meskipun API ini diekspos sekarang, API ini juga dipagari oleh kemampuan aplikasi tertentu yang harus disetujui oleh Microsoft sebelum aplikasi dapat diterbitkan. Penggunaan aktual API ini masih akan dibatasi terutama untuk produsen perangkat dan operator seluler.
Operasi jaringan
WINDOWS.Networking.NetworkOperators API terutama berkaitan dengan konfigurasi dan provisi ponsel. Dengan demikian, izin untuk menggunakan kemampuan yang mengontrolnya terbatas pada produsen perangkat dan penyedia telekomunikasi.
SMS
Namespace layanan Windows.Devices.Sms berkaitan dengan SMS dan pesan terkait sebagai entitas tingkat rendah. Ini disediakan untuk digunakan oleh operator seluler untuk penggunaan SMS yang diarahkan aplikasi, dan dikendalikan oleh kemampuan yang tidak akan disetujui untuk digunakan oleh sebagian besar pengembang aplikasi. Jika Anda menulis aplikasi untuk menangani pesan, Anda harus menggunakan WINDOWS.ApplicationModel.Chat API sebagai gantinya, karena dirancang untuk menangani tidak hanya pesan SMS, tetapi juga pesan dari sumber lain seperti aplikasi obrolan realtime, memungkinkan pengalaman obrolan /olahpesan yang jauh lebih kaya.