WebSocket Protokolü Bileşen API'si

Amaç

Important

Windows bir WebSocket API'si seçme — Birden çok WebSocket seçeneği vardır. Uygulama türünüz temelinde seçin:

API En iyi kullanım alanları Notlar
WinHTTP WebSocket (WinHttpWebSocketSend vb.) WebSocket'e win üzerinden ihtiyaç duyan hizmetler, sunucu tarafı kodu, C/C++ uygulamalarıHTTP WinHTTP proxy/auth ile tümleşir; Windows 8+ gerektirir. Win32 hizmet senaryoları için önerilir.
Windows. Networking.Sockets (MessageWebSocket, StreamWebSocket) UWP uygulamaları, modern C++/WinRT masaüstü uygulamaları En üst düzey API; çerçeve ve TLS'yi işler. Uygulamaların kendi yeniden bağlantı mantığını uygulaması gerekir. Yeni masaüstü/UWP uygulamaları için önerilir.
WebSocket Protokol Bileşeni (bu API — websocket.dll) Yalnızca protokol çerçeveleme/ayrıştırma gerektiren özel aktarım uygulamaları Alt düzey: G/Ç, HTTP yükseltmesi, kimlik doğrulaması veya ara sunucuyu işlemez . Kendi aktarım (genellikle ham Winsock + TLS) sağlamanız gerekir.
Sistem.Net. WebSockets (.NET) .NET uygulamaları Yönetilen, zaman uyumsuz, platformlar arası. İstemciler için kullanın ClientWebSocket .
Üçüncü taraf kitaplıkları (libwebsockets, Boost.Beast vb.) Platformlar arası C/C++ Windows özgü değildir; birden çok platformu hedeflerken kullanışlıdır.

Çoğu uygulama için WinHTTP WebSocket (hizmetler/Win32) veya Windows. Networking.Sockets (modern uygulamalar) doğru seçimdir. Alt düzey WebSocket Protokolü Bileşen API'sini yalnızca tam olarak denetlediğiniz bir aktarım üzerinde özel çerçeveleme gerekiyorsa kullanın.

WebSocket Protokolü Bileşen API'si, mevcut ağ aracıları arasında çalışan HTTP üzerinden zaman uyumsuz, çift yönlü iletişim kanalları sağlar. WebSocket Protokol Bileşeni API'siyle, istemci bir sunucuyla iletişim kurmak için HTTP kullanır ve her iki taraf da HTTP'nin katmanlandığı temel protokolü (TCP veya SSL gibi) kullanmaya geçer. Amaç, önce ağ aracıları üzerinden geçiş yapmak için HTTP kullanmak ve ardından iki yönlü uygulama iletişimi için yerleşik uçtan uca TEMEL TCP/SSL kanalını kullanmaktır. IETF'de [WSPROTO] WebSocket protokolü tanımlanırken, WHATWG'de ilişkili bir Javascript API'si (WebSockets) tanımlanır.

Bu bölümde

Konu Açıklama
WebSocket Protokolü Bileşen API'sinde Veri Türleri
WebSocket Protokol Bileşeni API'si bu veri türlerini tanımlar.
WebSocket Protokolü Bileşeni API Numaralandırmaları
WebSocket Protokol Bileşeni API'si bu numaralandırmaları tanımlar.
WebSocket Protokolü Bileşen API İşlevleri
WebSocket Protokol Bileşeni API'si bu işlevleri tanımlar.
WebSocket Protokolü Bileşen API Yapılarını
WebSocket Protokol Bileşeni API'si bu yapıları tanımlar.

Geliştirici hedef kitlesi

WebSocket Protokolü Bileşen API'si, C/C++ programcıları tarafından kullanılmak üzere tasarlanmıştır. HTTP ve Windows ağı hakkında bilgi sahibi olun.

Not

Windows'da WebSocket protokolunu kullanmanın tercih edilen yolu, Windows HTTP Services (WinHTTP) API veya Windows.Networking.Sockets ad alanı.

Çalışma zamanı gereksinimleri

WebSocket Protokol Bileşeni API'sinde Windows işletim sisteminin Windows 8 ve sonraki sürümleri gerekir. API'ler websocket.dllaracılığıyla dinamik olarak bağlanabilir.

Not

websocket.dll istemci ve sunucu el sıkışması ile ilgili HTTP üst bilgileri için destek sağlar, alınan el sıkışma verilerini doğrular ve WebSocket veri akışını ayrıştırır. HTTP'ye özgü işlemleri (yeniden yönlendirme, kimlik doğrulaması, proxy desteği) işlemez veya herhangi bir G/Ç işlemi gerçekleştirmez (WebSocket akış baytlarını gönderme veya alma).

HTTP

Windows HTTP Hizmetleri (WinHTTP)