signalR и передача больших данных [закрыто]



Я планирую использовать signalR между клиентом и сервером для связи в реальном времени. Как бы то ни было, время от времени клиент должен отправлять большие данные ~15 Мб на сервер.



1) похоже, signalR не предназначен для отправки больших данных. Была ли добавлена поддержка отправки больших данных в последних выпусках ?



2) Какой самый большой массив данных я могу отправить в сообщении ?



3) не слишком ли медленно разделить большие данные и отправить их в виде меньшего куска ?

4) Каков альтернативный вариант ? Какой-нибудь пример я могу рассмотреть?



5) Могу ли я запустить службу WCF для потоковой передачи больших данных вместе с signalR для связи в реальном времени ?
738   3  

3 ответов:

Отправка SignalR будет использовать неправильный инструмент для работы. Лучшее, что можно сделать в этой ситуации, - это отправить определенное сообщение через SignalR, которое передало URL в качестве параметра. Затем вы обрабатываете, инициируя стандартную загрузку HTTP GET на основе в клиенте, используя любое количество подходов.

Если вам действительно нужно использовать SignalR, вы можете проверить мой ответ по адресу: как отправить большие данные через SignalR в клиенте .NET

Вы можете добавить строку, которая делает размер сообщения "бесконечным"в вашем запуске.cs, установив MaxIncomingWebSocketMessageSize равным null:

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

} Шахта работает с ~200кб данных, 10 сообщений отправляет последовательно. Хотя я не знаю, насколько хорошо это работает, если в секунду отправляется больше данных.

Разделить данные и отправить их. вы можете отправить фоновый режим или нормально, Используйте методы сжатия, чтобы уменьшить размер данных.

Comments

    Ничего не найдено.