1

Preamble

My current employer is leaning towards the revamp of our outdated codebase (we still have some .NET 2.0 code up and running but starting to suffer from deprecation), and as part of this effort our team is choosing some technologies and practices to adopt as our base framework for new and updated applications - and quite a few deal with the UI, such as three.js, D3js (we have our healthy share of data visualization), semantics and websockets; the latter brought us to SignalR.

While researching the way SignalR is implemented (and websockets in general), I reached a point where I wanted to check if multicast-like communication would be viable. (In simple terms, a multicast is similar to a broadcast in the sense that you can send a single packet simultaneously to several clients - difference being that you may control how many clients are part of the whole exchange, by having them join a given multicast group).

Multicast is a very neat technology if you want to save bandwidth - and, I imagine, processor time in SignalR's case.

So far, all implementations of multicast-like behavior using SignalR that I've managed to check kind of behaves the same way, iterating through all pre-established connections. I've also checked the documentation, but nothing noteworthy came up so far.

That said,

Question

Is SignalR compatible with TCP Multicast? Have anyone implemented a similar scenario?

OnoSendai
  • 3,960
  • 2
  • 22
  • 46
  • 1
    Have you looked at groups in SignalR? – Abhishek Nanda Jan 15 '14 at 20:40
  • I did, @AbhishekNanda - I checked the forums and some tutorials (http://www.asp.net/signalr, http://forums.asp.net/1254.aspx) and while I did found some posts about broadcasting (e.g. hubs), none mentioned multicast per se. I'll continue digging, anyway. – OnoSendai Jan 15 '14 at 21:25
  • SignalR does not use and cannot take advantage of TCP multicast. SignalR is built on top of http not tcp. – davidfowl Jan 16 '14 at 07:44
  • I was wondering if it was viable since both HTTP over UDP Multicast (http://tools.ietf.org/html/draft-goland-http-udp-00) and TCP Multicast (http://stackoverflow.com/questions/2453109/tcp-multicast-and-multithreading) seems to be available protocols, @dfowler. In any case, thanks for the clarification. – OnoSendai Jan 16 '14 at 08:01

0 Answers0