# Websocket backend

**URL:** <https://www.ruby-forum.com/t/websocket-backend/227462>\
**Category:** NGINX\
**Created:** [March 16, 2013, 12:25am UTC](https://www.ruby-forum.com/t/websocket-backend/227462 "2013-03-16T00:25:05Z")\
**Posts on this page:** 4\
**Page:** 1

<div class="post-metadata">

**Author:** ![djczaski](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/d/6bbea6/32.png) [@djczaski](https://www.ruby-forum.com/u/djczaski)\
**Post date:** [March 16, 2013, 12:25am UTC](https://www.ruby-forum.com/t/websocket-backend/227462/1 "2013-03-16T00:25:05Z")

</div>

What are the best options for websocket backends? I’m working with an  
embedded platform so I’m somewhat restricted to something lightweight  
in C/C++. The things I found so far are:

libwebsockets: [http://git.warmcat.com/cgi-bin/cgit/libwebsockets/](http://git.warmcat.com/cgi-bin/cgit/libwebsockets/)  
poco: [http://www.appinf.com/docs/poco/Poco.Net.WebSocket.html](http://www.appinf.com/docs/poco/Poco.Net.WebSocket.html)

Another option would be to handle it right in Openresty/ngx\_lua. I  
see there was some discussion about this a little while back:

> <https://github.com/openresty/lua-nginx-module/issues/165>
>
> Only missing feature that will make this Lua module (and openresty) ready to mak…e realtime web apps is WebSocket support.
> 
> I dunno exactly how to do it, but it would be just awesome if we could also have sthing like \`websocket\_by\_lua\` that will launch script on new websocket, then this script could (somehow) install handlers (functions) for WebSocket frame and close events.

What are the best options?

---

<div class="post-metadata">

**Author:** ![djczaski](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/d/6bbea6/32.png) [@djczaski](https://www.ruby-forum.com/u/djczaski)\
**Post date:** [March 16, 2013, 12:46am UTC](https://www.ruby-forum.com/t/websocket-backend/227462/2 "2013-03-16T00:46:42Z")

</div>

I haven’t tried it yet, but nginx-push-stream-module looks good:

> **[GitHub - wandenberg/nginx-push-stream-module: A pure stream http push...](https://github.com/wandenberg/nginx-push-stream-module)**
>
> A pure stream http push technology for your Nginx setup. Comet made easy and really scalable. - GitHub - wandenberg/nginx-push-stream-module: A pure stream http push technology for your Nginx setup...

\_Nik

---

<div class="post-metadata">

**Author:** ![djczaski](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/d/6bbea6/32.png) [@djczaski](https://www.ruby-forum.com/u/djczaski)\
**Post date:** [March 16, 2013, 2:40pm UTC](https://www.ruby-forum.com/t/websocket-backend/227462/3 "2013-03-16T14:40:59Z")

</div>

I agree with him too.  
On 16 Mar 2013 08:46, “Nikolas Stevenson-Molnar”  
[removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid)

---

<div class="post-metadata">

**Author:** ![djczaski](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/d/6bbea6/32.png) [@djczaski](https://www.ruby-forum.com/u/djczaski)\
**Post date:** [April 18, 2013, 10:16pm UTC](https://www.ruby-forum.com/t/websocket-backend/227462/4 "2013-04-18T22:16:04Z")

</div>

This looked interesting but I ran into two issues. I need to be able to  
filter publishes on a connection basis. Also, the GPLv3 license is not  
suitable for my project.

On Fri, Mar 15, 2013 at 7:46 PM, Nikolas Stevenson-Molnar \<
