Hi!
We are excited to announce the release of lcl-websocket. It is a lightweight websocket library designed to for both client and server to streamline websocket communications.
We are a group of researchers and volunteers operating community networks from Seattle Community Network. Inspired by WWDC’s initiative, we’ve decided to contribute to the community by open-sourcing some of our projects, developed using SwiftNIO.
lcl-websocket is one of the essential toolkits in our measurement testbed. We use it extensively to run speed test tools and measure the performance of our core network, in the iOS client, CLI tool, and in the servers.
As its name suggests, lcl-websocket can help users create websocket client/server easily. It offers a variety of configurable options, such as automatically sending pings to keep alive, connection timeout, and various socket-level options, which can be adjusted to meet varying requirements and scenarios. Both client and server implementations pass the basic Autobahn test suites and conforms to RFC 6455.
While this marks the first public release of lcl-websocket, it is still under active development. Our goal is to add compression support (RFC 7692) and incorporate with Swift Concurrency in the following releases.
We greatly appreciate any feedback, feature requests, or bug reports. Please file an issue on our GitHub repo or share your initial thoughts in this thread. Your input is invaluable to us.
If you are interested in community networking, feel free to join our discord channel :)