Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Which is better WebSocket or Long Polling in Signalr?

I want to make Asp.NET Web Chat Application and found that Signalr is best option for this. I found one sample Project with Long Polling but it seems that it takes such a long time to send message or it just cancels it. I want to make speedy Chat app like Facebook and Google.

Please give me better way to go ahead.

like image 643
Jeeten Parmar Avatar asked Aug 13 '15 10:08

Jeeten Parmar


People also ask

Is long polling better than WebSockets?

Long Polling usually produces slightly higher average latency and significantly higher latency variability than WebSockets. WebSockets do support compression, but usually per-message.

Which is best WebSocket or SignalR?

WebSockets is actually the underlying transport that SignalR uses, at least most of the time. SignalR has the ability to fall back to other ways of transporting messages, such as long-polling over HTTP. This is useful in situations where you don't have WebSockets support.

Does SignalR require WebSockets?

SignalR uses the new WebSocket transport where available and falls back to older transports where necessary. While you could certainly write your app using WebSocket directly, using SignalR means that a lot of the extra functionality you would need to implement is already done for you.

Is SignalR long polling?

SignalR is a Microsoft framework specifically designed to facilitate real-time client/server communication. It provides an effective implementation of long polling that doesn't have a deep impact on the server, and at the same time ensures that clients are appropriately updated about what's going on remotely.


1 Answers

The best thing about SignalR is that you don't have to worry about Long Polling and WebSockets, but the framework itself deals with it.

When first launched, SignalR will try to use WebSockets, because it is the newest and uses the least broadband. Then, it will fallback to Server Sent Events, Forever Frame and Long Polling, all depending on the technology available on the server and on the client.

http://www.asp.net/signalr/overview/getting-started/introduction-to-signalr Here you have these concepts explained.

To sum things up, you shouldn't specify the framework which technology to use, but it should determine for itself (when dealing with each client - browser), depending on the available technology on the server and on the client.

Hope this helps! Good luck!

like image 96
radu-matei Avatar answered Sep 30 '22 20:09

radu-matei