Skip to content

Commit

Permalink
warn about websocket-driver
Browse files Browse the repository at this point in the history
- I had issue with a hello world locally
- bugs reported on Discord that happened on a server and not locally
- bug reported on the Cookbook (issue 447)

and un-answered issues
https://github.com/fukamachi/websocket-driver/issues
although that happens.

It is a known and used lib so let's "deprecate" its mention in the
Cookbook with this warning rather than removing the entry right now.
  • Loading branch information
vindarel committed Jul 18, 2022
1 parent 550dbfe commit 7c242db
Showing 1 changed file with 5 additions and 3 deletions.
8 changes: 5 additions & 3 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -987,9 +987,11 @@ Websockets
----------

* 👍 [usocket](https://github.com/usocket/usocket) - A portable TCP and UDP socket interface. [Expat][14].
* [Hunchensocket](https://github.com/joaotavora/hunchensocket) - RFC6455 compliant WebSockets for Common Lisp. [MIT][200].
* [websocket-driver](https://github.com/fukamachi/websocket-driver) - a WebSocket server/client implementation, backend agnostic (Clack). [3-clause BSD][15].
* [Portal](https://github.com/charJe/portal) - Portable websockets for Common Lisp using usocket. [LLGPL][8].
* [Hunchensocket](https://github.com/joaotavora/hunchensocket) - RFC6455 compliant WebSockets for Common Lisp, as an extension to Hunchentoot. [MIT][200].
* [Portal](https://github.com/charJe/portal) - Portable websockets for Common Lisp, using usocket. [LLGPL][8].

And also [websocket-driver](https://github.com/fukamachi/websocket-driver), based on Clack, although we've seen bugs.


See more [on cliki](http://www.cliki.net/site/search?query=websockets).

Expand Down

4 comments on commit 7c242db

@apr3vau
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

But Hunchensocket also have bugs, it couldn't work well unless modify it's code manually, no one submit PR right now :(
See joaotavora/hunchensocket#13
Only Portal works well out of box :D

@vindarel
Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Ouch, really? :S So we can move Portal up at least. What else can we do here?

Do you have an opinion about https://github.com/3b/clws ? It is old-ish…

@apr3vau
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Ouch, really? :S So we can move Portal up at least. What else can we do here?

Do you have an opinion about https://github.com/3b/clws ? It is old-ish…

I've made a simple test and it seems that there's nothing unacceptable in clws. Old is not an obstacle, at least it is better than Hunchensocket right now I think...

But it has a limitation that it depends on libfixposix, which seems not available on Windows... See 3b/clws#16

As a little benefit, clws can discriminate between text and binary message, both work fine.

In fact it seems that we do not have a powerful and full-featured websocket implementation right now... Although there are bugs in websocket-driver, it has some important features: it is implemented on HTTP server, so it can share port with HTTP server using server's request routing, and support TLS/SSL (wss:) easily. I haven't found an easy way to implement these using Portal (maybe also clws), as I'm just a noob 😢

Actually, what makes me give up websocket-driver is more than it's issues. When I receive a file which slightly larger (test in 200K+ screenshots, macOS 10.15, sending javascript ArrayBuffer) using websocket-driver, it's binary data will be messed up, which I can't bear. There is no such problem in other websockets. Trapped in my poor knowledge, I don't know why... 😭😂

Finally I should express my thank to awesome-cl, it is helpful and joyful. Thank you!

@vindarel
Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks a lot for the feedback (and the kind words), I'll send a PR with more information about the websockets libraries.

Please sign in to comment.