A popular .NET WebSocket Client
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
Kerry Jiang 56ca740855 adjusted unit tests 1 month ago
.github/workflows upgraded to SuperSocket 2.0 1 month ago
.vscode made handshake pass through 4 years ago
assets updated the test cert 1 year ago
src/WebSocket4Net leave DnsEndPoint address family unassigned and fix close async in packageHandlerMode 1 month ago
test/WebSocket4Net.Tests adjusted unit tests 1 month ago
.gitignore tried to make it work 5 years ago
Dependencies.props upgraded to SuperSocket 2.0 1 month ago
Directory.Build.props upgraded to SuperSocket 2.0 1 month ago
LICENSE added license file 9 months ago
README.md updated the demo code in readme 11 months ago
WebSocket4Net.sln merged from future 5 years ago
version.json bumped up version 9 months ago

README.md

WebSocket4Net

build MyGet Version NuGet Beta Version NuGet Version NuGet Badge

A popular .NET WebSocket Client

This new version is built on SuperSocket 2.0 and modern .NET (.NET Core). It includes breaking changes from the previous WebSocket4Net version, so code adjustments may be necessary for upgrading.

Usage 1: Read messages from event handler.


using WebSocket4Net;

var websocket = new WebSocket("https://localhost/live");

websocket.PackageHandler += (sender, package) =>
{
    Console.WriteLine(package.Message);
}

await websocket.OpenAsync();

websocket.StartReceive();

await websocket.SendAsync("Hello");

//...

await websocket.CloseAsync();

Usage 1: Read messages on demand.


using WebSocket4Net;

var websocket = new WebSocket("https://localhost/live");

await websocket.OpenAsync();

await websocket.SendAsync("Hello");

while (true)
{
    var package = await websocket.ReceiveAsync();

    if (package == null)
        break;

    Console.WriteLine(package.Message);
}

//...

await websocket.CloseAsync();