3

I am scoping out the architectural options for a project that will render live updates (like Facebook) of user activities - logins, photos, etc. Two main UI components of this are an auto-updating scrolling area where new notifications will be listed (photos, etc.), and a toolbar that will update with things like updated message counts, etc.

The contenders for this are Jabber/Comet/XMPP-based and WebSocket technologies.

Comet camp:

WebSockets camp:

  • kaazing.com/
  • www.lightstreamer.com/
  • superwebsocket.codeplex.com/

(couldn't post over two links)

Since this the existing infrastructure is a Microsoft stack, I would rather not introduce Java-based servers into the mix. Saying this, it leaves (a very attractive) WebSync (Comet), and SuperWebSocket (WebSockets). However the Pokein's DLL integration is fairly seamless into a .Net project as well.

Are there any more real production level WebSocket initiatives for .Net? Is it too early to adopt WebSockets on a Microsoft stack, and should I go in favor of something like Kazing?

I am still waiting for a report on our current user base's browser types and versions (checking for HTML5 compatibility). I am suspecting that this number will be low (older user base). If that is the case, the Comet option would be the winner.

What are some other things to consider?

Can I get some comments from anyone that has used any of the technologies and products listed above?

Thanks.

ElHaix
  • 269
  • 3
  • 13

2 Answers2

2

I'm biased (I work for Frozen Mountain), but you should check out WebSync.

WebSync v4 uses WebSockets in addition to falling back to long-polling/callback-polling as needed. The WebSockets in WebSync are all over standard HTTP ports as well, so there won't be any issues with routers/filrewalls/etc.

On a "normal" system, you should see ~20k concurrent (per node) and ~100k messages/sec. Those are very rough numbers though, as it depends drastically on your system and the types of messages you're sending, etc. We've seen as high as 50k users (per node) and (in a different test) 300k messages/second.

A couple comments from other people who've used it:

https://stackoverflow.com/a/8525454/25330

https://stackoverflow.com/questions/2604193/websync-pros-and-cons

Jerod Venema
  • 143
  • 1
  • 7
0

From my research, looking at Node.JS with SocketIO using IISNode may be a good option. However, a lot of mention has been made to Node.JS with SignalR, and further diving into it, the integration of SignalR with .Net is completely seamless.

ElHaix
  • 269
  • 3
  • 13