RFC6455 compliant WebSocket server implementation for Common Lisp, extending the Hunchentoot web server.
Hunchensocket is a Common Lisp implementation of WebSockets designed as an extension to the Hunchentoot web server. It provides a fully compliant RFC6455 server, enabling real-time bidirectional communication in Common Lisp web applications by seamlessly integrating WebSocket capabilities into existing Hunchentoot workflows.
Common Lisp developers building web applications with Hunchentoot who need to add real-time features like chat, notifications, or live updates. It's specifically for those already using or planning to use Hunchentoot as their web server.
Developers choose Hunchensocket because it offers native integration with Hunchentoot, using a familiar CLOS-based API that mirrors Hunchentoot's design patterns. Unlike generic WebSocket libraries, it provides a dispatch table system similar to Hunchentoot's for routing connections, making it a natural extension for existing Common Lisp web projects.
RFC6455 compliant WebSockets for Common Lisp
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Implements the complete RFC6455 WebSocket specification, ensuring reliable and standards-compliant real-time communication, as stated in the README.
Extends Hunchentoot with a similar dispatch table system and acceptor classes, making it a natural fit for existing Hunchentoot-based web applications.
Uses the Common Lisp Object System for defining custom WebSocket resources and clients, allowing developers to tailor behavior through subclassing and method specialization.
Provides clear methods like client-connected and text-message-received for handling WebSocket events, simplifying real-time application logic as shown in the chat example.
Tightly coupled with Hunchentoot, so it cannot be used with other Common Lisp web servers or frameworks, limiting flexibility for mixed-technology stacks.
Targets a small audience of Common Lisp and Hunchentoot users, resulting in fewer community resources, tutorials, and third-party extensions compared to mainstream WebSocket libraries.
Requires Quicklisp and a Common Lisp environment, which can be complex for developers unfamiliar with Lisp tooling, and the README assumes prior knowledge of Hunchentoot.