{"id":19951940,"url":"https://github.com/kerryjiang/websocket4net","last_synced_at":"2025-05-13T18:16:02.784Z","repository":{"id":4166664,"uuid":"5282029","full_name":"kerryjiang/WebSocket4Net","owner":"kerryjiang","description":"A popular .NET WebSocket Client","archived":false,"fork":false,"pushed_at":"2025-04-25T02:33:32.000Z","size":16283,"stargazers_count":789,"open_issues_count":92,"forks_count":276,"subscribers_count":80,"default_branch":"master","last_synced_at":"2025-04-25T17:59:15.691Z","etag":null,"topics":["client","csharp","websocket"],"latest_commit_sha":null,"homepage":"","language":"C#","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/kerryjiang.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2012-08-03T06:27:51.000Z","updated_at":"2025-04-25T17:46:56.000Z","dependencies_parsed_at":"2024-04-14T04:28:34.049Z","dependency_job_id":"ecfcc33e-8e3d-449c-88b1-c6b64857239b","html_url":"https://github.com/kerryjiang/WebSocket4Net","commit_stats":{"total_commits":351,"total_committers":19,"mean_commits":"18.473684210526315","dds":"0.33048433048433046","last_synced_commit":"992717fd92c499953fdd3bf8426900755c343431"},"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kerryjiang%2FWebSocket4Net","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kerryjiang%2FWebSocket4Net/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kerryjiang%2FWebSocket4Net/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kerryjiang%2FWebSocket4Net/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/kerryjiang","download_url":"https://codeload.github.com/kerryjiang/WebSocket4Net/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":254000885,"owners_count":21997443,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["client","csharp","websocket"],"created_at":"2024-11-13T01:10:50.030Z","updated_at":"2025-05-13T18:16:02.263Z","avatar_url":"https://github.com/kerryjiang.png","language":"C#","funding_links":[],"categories":[],"sub_categories":[],"readme":"# WebSocket4Net\n\n[![build](https://github.com/kerryjiang/WebSocket4Net/workflows/build/badge.svg)](https://travis-ci.org/kerryjiang/WebSocket4Net)\n[![MyGet Version](https://img.shields.io/myget/websocket4net/vpre/WebSocket4Net)](https://www.myget.org/feed/websocket4net/package/nuget/WebSocket4Net)\n[![NuGet Beta Version](https://img.shields.io/nuget/vpre/WebSocket4Net.svg?style=flat)](https://www.nuget.org/packages/WebSocket4Net/)\n[![NuGet Version](https://img.shields.io/nuget/v/WebSocket4Net.svg?style=flat)](https://www.nuget.org/packages/WebSocket4Net/)\n[![NuGet](https://img.shields.io/nuget/dt/WebSocket4Net.svg)](https://www.nuget.org/packages/WebSocket4Net)\n[![Badge](https://img.shields.io/badge/link-996.icu-red.svg)](https://996.icu/#/en_US)\n\n\nA popular .NET WebSocket Client\n\nThis 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.\n\n## Usage 1: Read messages from event handler.\n\n```csharp\n\nusing WebSocket4Net;\n\nvar websocket = new WebSocket(\"https://localhost/live\");\n\nwebsocket.PackageHandler += (sender, package) =\u003e\n{\n    Console.WriteLine(package.Message);\n}\n\nawait websocket.OpenAsync();\n\nwebsocket.StartReceive();\n\nawait websocket.SendAsync(\"Hello\");\n\n//...\n\nawait websocket.CloseAsync();\n\n```\n\n## Usage 1: Read messages on demand.\n\n```csharp\n\nusing WebSocket4Net;\n\nvar websocket = new WebSocket(\"https://localhost/live\");\n\nawait websocket.OpenAsync();\n\nawait websocket.SendAsync(\"Hello\");\n\nwhile (true)\n{\n    var package = await websocket.ReceiveAsync();\n\n    if (package == null)\n        break;\n\n    Console.WriteLine(package.Message);\n}\n\n//...\n\nawait websocket.CloseAsync();\n\n```","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkerryjiang%2Fwebsocket4net","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fkerryjiang%2Fwebsocket4net","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkerryjiang%2Fwebsocket4net/lists"}