FWIW the code is very low level - I'm sure it could be made cleaner on both
the client and server side with a couple of Objects maintaining the
multiplexer. It's really just a matter of the client and server maintaining
uuid -> connection mappings and always sending the uuid with messages.


On Mon, Jul 8, 2013 at 4:49 PM, Arnout Kazemier <[email protected]> wrote:

> Hey Matt,
>
> I've been planning on writing a multiplexer for Primus as it's something
> that I need for my upcoming web framework as well. So I'll definitely be
> looking at your snippet.
>
> On Monday, July 8, 2013 at 10:26 PM, Matt wrote:
>
> Looks great Arnout - having gone through the wringer with WebSockets too
> it's good to see someone trying really hard to solve those problems.
>
> One thing that's missing from this (even with primus-rooms) is arbitrary
> client-side created channels. I wrote about how I solved that with SockJS
> here:
> http://baudehlo.wordpress.com/2013/05/07/sockjs-multiple-channels-and-why-i-dumped-socket-io/
>
>
> On Mon, Jul 8, 2013 at 3:35 PM, 3rdEden <[email protected]> wrote:
>
> Ohai,
>
> I'm pleased to announce the release of Primus. Primus is a server and
> client abstraction on top of real-time servers/transports such as
> Socket.IO, SockJS, Engine.IO etc. It allows you to easily switch between
> servers with changing just one single line of code. There is no need to
> completely rewrite your applications when your not satisfied with the
> underlaying real-time server or when it completely breaks down when you're
> hit by HackerNews or are getting Techcrunched. (trust me, this happens to
> people a lot).
>
> Some highlights:
>
> - Supports 5 different real-time servers out of the box: Socket.IO,
> Engine.IO, SockJS, Browserchannel and pure WebSockets.
> - It has a stream compatible interface for the the client and the server.
> - Supports randomised exponential back-off to prevent DDOS'ing your server
> when you restart.
> - Comes with a client API that works on Node.js as well on the client.
> - It fixes bugs in the above mentioned servers.
> - Comes with the ability to also change the message encoders and decoders
> on the fly. If JSON encoding is to heavy for you
> could switch to msgpack, bison or maybe JSONH.
>
> It doesn't matter if your building a real-time server, or implementing a
> module that uses real-time. Primus is here to save the day ;). As for the
> future of the project. I'll be adding additional fixes to Primus to prevent
> some of the real-time bugs that i've been talking about at conferences:
> https://speakerdeck.com/3rdeden . Making Primus not just wrapper around
> this frameworks but also better than these libraries them selfs.
>
> The project is available on Github:
>
>    https://github.com/3rd-Eden/primus
>
> And a small announcement post:
>
>   https://medium.com/the-build/22af5c94a922
>
> So tell me what you think about it, love to hear the input of the
> community.
>
> Thanks,
>
> Arnout
>
> --
> --
> Job Board: http://jobs.nodejs.org/
> Posting guidelines:
> https://github.com/joyent/node/wiki/Mailing-List-Posting-Guidelines
> You received this message because you are subscribed to the Google
> Groups "nodejs" group.
> To post to this group, send email to [email protected]
> To unsubscribe from this group, send email to
> [email protected]
> For more options, visit this group at
> http://groups.google.com/group/nodejs?hl=en?hl=en
>
> ---
> You received this message because you are subscribed to the Google Groups
> "nodejs" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to [email protected].
> For more options, visit https://groups.google.com/groups/opt_out.
>
>
>
>
>  --
> --
> Job Board: http://jobs.nodejs.org/
> Posting guidelines:
> https://github.com/joyent/node/wiki/Mailing-List-Posting-Guidelines
> You received this message because you are subscribed to the Google
> Groups "nodejs" group.
> To post to this group, send email to [email protected]
> To unsubscribe from this group, send email to
> [email protected]
> For more options, visit this group at
> http://groups.google.com/group/nodejs?hl=en?hl=en
>
> ---
> You received this message because you are subscribed to the Google Groups
> "nodejs" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to [email protected].
> For more options, visit https://groups.google.com/groups/opt_out.
>
>
>
>
>  --
> --
> Job Board: http://jobs.nodejs.org/
> Posting guidelines:
> https://github.com/joyent/node/wiki/Mailing-List-Posting-Guidelines
> You received this message because you are subscribed to the Google
> Groups "nodejs" group.
> To post to this group, send email to [email protected]
> To unsubscribe from this group, send email to
> [email protected]
> For more options, visit this group at
> http://groups.google.com/group/nodejs?hl=en?hl=en
>
> ---
> You received this message because you are subscribed to the Google Groups
> "nodejs" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to [email protected].
> For more options, visit https://groups.google.com/groups/opt_out.
>
>
>

-- 
-- 
Job Board: http://jobs.nodejs.org/
Posting guidelines: 
https://github.com/joyent/node/wiki/Mailing-List-Posting-Guidelines
You received this message because you are subscribed to the Google
Groups "nodejs" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to
[email protected]
For more options, visit this group at
http://groups.google.com/group/nodejs?hl=en?hl=en

--- 
You received this message because you are subscribed to the Google Groups 
"nodejs" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
For more options, visit https://groups.google.com/groups/opt_out.


Reply via email to