Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

signalR and large data transfer [closed]

I am planning to use signalR between Client and server for some real time communication. How ever every now and then the client need to send large data ~15MB to the server.

1) Looks like signalR is not meant for sending large data. Have they added any support for sending large data in the recent releases ?

2) What is the largest data array I can send in a message ?

3) Is it too slow to split the large data and send it as smaller chunk ?

4) What is the alternate option ? Any example I can look into?

5) Can I run WCF service to stream large data along with signalR for real time communication ?

like image 736
coolshashi Avatar asked Feb 18 '23 11:02

coolshashi


2 Answers

Sending over SignalR would be using the wrong tool for the job. Best thing to do in this situation is send a specific message over SignalR that passed the URL as a parameter. Then you handle by triggering a standard HTTP GET based download in the client using any number of approaches.

like image 111
Drew Marsh Avatar answered Feb 28 '23 10:02

Drew Marsh


If you really, really need to use SignalR, you can check out my answer at: How to send big data via SignalR in .NET client

You can add a line that makes the message size 'infinite 'in your Startup.cs by setting the MaxIncomingWebSocketMessageSize to null:

public class Startup
{
    public void Configuration(IAppBuilder app)
    {
    app.MapSignalR();
    GlobalHost.Configuration.MaxIncomingWebSocketMessageSize = null;
    }
}

} Mine works with ~200kb of data, 10 messages send consistently. I don't know how well it works if there is more data send per second though.

like image 35
Alexander Avatar answered Feb 28 '23 10:02

Alexander