System.Net.WebSockets.WebSocketProtocol
5.1.3
Prefix Reserved
dotnet add package System.Net.WebSockets.WebSocketProtocol --version 5.1.3
NuGet\Install-Package System.Net.WebSockets.WebSocketProtocol -Version 5.1.3
<PackageReference Include="System.Net.WebSockets.WebSocketProtocol" Version="5.1.3" />
<PackageVersion Include="System.Net.WebSockets.WebSocketProtocol" Version="5.1.3" />
<PackageReference Include="System.Net.WebSockets.WebSocketProtocol" />
paket add System.Net.WebSockets.WebSocketProtocol --version 5.1.3
#r "nuget: System.Net.WebSockets.WebSocketProtocol, 5.1.3"
#:package System.Net.WebSockets.WebSocketProtocol@5.1.3
#addin nuget:?package=System.Net.WebSockets.WebSocketProtocol&version=5.1.3
#tool nuget:?package=System.Net.WebSockets.WebSocketProtocol&version=5.1.3
About
Provides the WebSocketProtocol class, which allows creating a WebSocket from a connected stream using WebSocketsProtocol.CreateFromConnectedStream.
NOTE: This package was designed as a temporary solution for internal use (building ASP.NET targeting .NET Standard 2.0), and is now considered obsolete. If targeting .NET Standard 2.1 or .NET 5+, use WebSocket.CreateFromStream instead.
Key Features
- Creates a new
WebSocketinstance that operates on the specified transport stream. TheWebSocketclass allows applications to send and receive data after theWebSocketupgrade has completed. - The API can be used to create both client-side and server-side
WebSocketinstances.
How to Use
To create a WebSocket using WebSocketProtocol, as a prerequisite, you need to prepare the opaque transport stream for the WebSocket, for example, create or accept a TCP socket connection as a Stream and perform a WebSocket opening handshake (upgrade) over it. Then you can use the transport stream and the negotiated subprotocol to call WebSocketProtocol.CreateFromStream.
Stream opaqueTransport = /* ... */; // complete WebSocket opening handshake over the transport connection
WebSocket ws = WebSocketProtocol.CreateFromStream(opaqueTransport, isServer: true, subProtocol, keepAliveInterval);
Remarks
The API is considered obsolete and is not recommented for use.
On .NET Framework or .NET Standard 2.0:
- To create a client
WebSocketfrom a stream, useWebSocket.CreateClientWebSocket.- Alternatively, consider using a
ClientWebSocketclass.
- Alternatively, consider using a
- Creating a server
WebSocketfrom a stream is not available on the API surface, consider usingHttpListeneror ASP.NETHttpContextto accept server WebSocket connections.
On .NET Core 2.1+, .NET 5+ or .NET Standard 2.1:
- To create a client or server
WebSocketfrom a stream, useWebSocket.CreateFromStream
Main Types
The main types provided by this library are:
- System.Net.WebSockets.WebSocketProtocol
Additional Documentation
- API reference can be found in: https://learn.microsoft.com/en-us/dotnet/api/system.net.websockets.websocketprotocol
- Additional APIs mentioned:
- WebSocket static methods: https://learn.microsoft.com/en-us/dotnet/api/system.net.websockets.websocket
- ClientWebSocket: https://learn.microsoft.com/en-us/dotnet/api/system.net.websockets.clientwebsocket
- HttpListener context: https://learn.microsoft.com/en-us/dotnet/api/system.net.httplistenercontext
- ASP.NET HttpContext: https://learn.microsoft.com/en-us/dotnet/api/system.web.httpcontext
License
System.Net.WebSockets.WebSocketProtocol is released as open source under the MIT license.
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net5.0 was computed. net5.0-windows was computed. net6.0 is compatible. net6.0-android was computed. net6.0-ios was computed. net6.0-maccatalyst was computed. net6.0-macos was computed. net6.0-tvos was computed. net6.0-windows was computed. net7.0 was computed. net7.0-android was computed. net7.0-ios was computed. net7.0-maccatalyst was computed. net7.0-macos was computed. net7.0-tvos was computed. net7.0-windows was computed. net8.0 was computed. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. net9.0 was computed. net9.0-android was computed. net9.0-browser was computed. net9.0-ios was computed. net9.0-maccatalyst was computed. net9.0-macos was computed. net9.0-tvos was computed. net9.0-windows was computed. net10.0 was computed. net10.0-android was computed. net10.0-browser was computed. net10.0-ios was computed. net10.0-maccatalyst was computed. net10.0-macos was computed. net10.0-tvos was computed. net10.0-windows was computed. |
| .NET Core | netcoreapp2.0 was computed. netcoreapp2.1 was computed. netcoreapp2.2 was computed. netcoreapp3.0 was computed. netcoreapp3.1 was computed. |
| .NET Standard | netstandard2.0 is compatible. netstandard2.1 was computed. |
| .NET Framework | net461 was computed. net462 is compatible. net463 was computed. net47 was computed. net471 was computed. net472 was computed. net48 was computed. net481 was computed. |
| MonoAndroid | monoandroid was computed. |
| MonoMac | monomac was computed. |
| MonoTouch | monotouch was computed. |
| Tizen | tizen40 was computed. tizen60 was computed. |
| Xamarin.iOS | xamarinios was computed. |
| Xamarin.Mac | xamarinmac was computed. |
| Xamarin.TVOS | xamarintvos was computed. |
| Xamarin.WatchOS | xamarinwatchos was computed. |
-
.NETFramework 4.6.2
- System.Buffers (>= 4.6.1)
- System.Memory (>= 4.6.3)
- System.Numerics.Vectors (>= 4.6.1)
- System.Runtime.CompilerServices.Unsafe (>= 6.1.2)
- System.Threading.Tasks.Extensions (>= 4.6.3)
-
.NETStandard 2.0
- System.Buffers (>= 4.6.1)
- System.Memory (>= 4.6.3)
- System.Numerics.Vectors (>= 4.6.1)
- System.Runtime.CompilerServices.Unsafe (>= 6.1.2)
- System.Threading.Tasks.Extensions (>= 4.6.3)
-
net6.0
- No dependencies.
NuGet packages (6)
Showing the top 5 NuGet packages that depend on System.Net.WebSockets.WebSocketProtocol:
| Package | Downloads |
|---|---|
|
Microsoft.AspNetCore.WebSockets
ASP.NET Core web socket middleware for use on top of opaque servers. |
|
|
Microsoft.AspNetCore.Http.Connections
Components for providing real-time bi-directional communication across the Web. |
|
|
Microsoft.Azure.SignalR
.NET Standard SDK for Azure SignalR. |
|
|
Microsoft.Azure.SignalR.Management
Provides communication capabilities with ASP.NET Core SignalR clients through Azure SignalR Service directly. The capabilities include sending messages to all/clients/users/groups and managing group membership. For more information, see https://github.com/Azure/azure-signalr/blob/dev/docs/management-sdk-guide.md |
|
|
MixinCSharpSdk
Mixin C# SDK is a high performance sdk for mixin. Include Mixin network api, messager api and websocket api. |
GitHub repositories (2)
Showing the top 2 popular GitHub repositories that depend on System.Net.WebSockets.WebSocketProtocol:
| Repository | Stars |
|---|---|
|
Azure/azure-signalr
Azure SignalR Service SDK for .NET
|
|
|
aspnet/WebSockets
[Archived] Implementation of the WebSocket protocol, along with client and server integration components.
|
| Version | Downloads | Last Updated | |
|---|---|---|---|
| 5.1.3 | 99,867 | 4/4/2025 | |
| 5.1.2 | 11,515 | 3/19/2025 | |
| 5.1.0 | 2,676,711 | 11/12/2024 | |
| 5.0.0 | 1,722,475 | 11/9/2020 | |
| 5.0.0-rc.2.20475.5 | 1,090 | 10/13/2020 | |
| 5.0.0-rc.1.20451.14 | 1,091 | 9/14/2020 | |
| 5.0.0-preview.8.20407.11 | 1,638 | 8/25/2020 | |
| 5.0.0-preview.7.20364.11 | 1,103 | 7/21/2020 | |
| 5.0.0-preview.6.20305.6 | 1,062 | 6/25/2020 | |
| 5.0.0-preview.5.20278.1 | 1,029 | 6/10/2020 | |
| 5.0.0-preview.4.20251.6 | 1,092 | 5/18/2020 | |
| 5.0.0-preview.3.20214.6 | 1,085 | 4/23/2020 | |
| 5.0.0-preview.2.20160.6 | 1,080 | 4/2/2020 | |
| 5.0.0-preview.1.20120.5 | 1,087 | 3/16/2020 | |
| 4.7.1 | 169,457 | 5/12/2020 | |
| 4.7.0 | 97,844 | 12/3/2019 | |
| 4.7.0-preview3.19551.4 | 2,137 | 11/13/2019 | |
| 4.7.0-preview2.19523.17 | 1,049 | 11/1/2019 | |
| 4.7.0-preview1.19504.10 | 2,635 | 10/15/2019 | |
| 4.6.0 | 1,013,428 | 9/23/2019 | |
| 4.6.0-rc1.19456.4 | 1,202 | 9/16/2019 | |
| 4.6.0-preview9.19421.4 | 1,281 | 9/4/2019 | |
| 4.6.0-preview9.19416.11 | 1,067 | 9/4/2019 | |
| 4.6.0-preview8.19405.3 | 1,138 | 8/13/2019 | |
| 4.6.0-preview7.19362.9 | 1,066 | 7/23/2019 | |
| 4.6.0-preview6.19303.8 | 1,171 | 6/12/2019 | |
| 4.6.0-preview6.19264.9 | 1,077 | 9/4/2019 | |
| 4.6.0-preview5.19224.8 | 1,106 | 5/6/2019 | |
| 4.6.0-preview4.19212.13 | 1,085 | 4/18/2019 | |
| 4.6.0-preview3.19128.7 | 1,180 | 3/6/2019 | |
| 4.6.0-preview.19073.11 | 3,426 | 1/29/2019 | |
| 4.6.0-preview.18571.3 | 2,291 | 12/3/2018 | |
| 4.5.3 | 48,035,536 | 1/8/2019 | |
| 4.5.2 | 20,969 | 10/1/2018 | |
| 4.5.1 | 45,444,067 | 6/18/2018 | |
| 4.5.0 | 7,838,363 | 5/29/2018 | |
| 4.5.0-rc1 | 75,350 | 5/6/2018 | |
| 4.5.0-preview2-26406-04 | 72,840 | 4/10/2018 | |
| 4.5.0-preview1-26216-02 | 113,931 | 2/26/2018 |