Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Port to ClientWebSocket #6

Merged
merged 3 commits into from
Apr 8, 2024
Merged

Conversation

elijahr2411
Copy link
Contributor

This removes the tech debt that is WebSocketSharp

  • Fully port everything over to System.Net.WebSockets.ClientWebSocket
  • To do this, I've created a new wrapper WebSocket class in WebSocket.cs to wrap a message loop and such. It's mostly compatible with WebSocketSharp.WebSocket aside from some changes I made
  • In my testing the VM seems much faster than with wssharp
  • Removes the WebSocketSharp reference

However, there are some trade-offs you'll want to consider before merging

  • Windows 7 is no longer supported as ClientWebSocket does not support it (However, I seriously hope nobody is still using Windows 7 in 2024)
  • DEFLATE compression is also not supported. However, this is also considered a security vulnerability when using SSL so I'm not sure how much of a loss that actually is

@yellows111
Copy link
Owner

Windows 7 was already a bit of a hack to get working anyway, with it's limited support of TLS 1.2.

Kind of wish someone told me about that Deflate thing. Oops.

Only thing missing would be modifying the action to not do the whole "download WS# thing", could also migrate the project to a later version but that's a me thing, otherwise it's fine.

@yellows111 yellows111 merged commit ae96acc into yellows111:master Apr 8, 2024
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants