2015-08-13 11 views
3

Я хочу сделать Asp.NET приложение для веб-чата и нашел, что Signalr - лучший вариант для этого. Я нашел один образец проекта с Long Polling, но кажется, что для отправки сообщения требуется столько времени, либо он просто отменяет его. Я хочу сделать быстрое приложение чата, например Facebook и Google.

Пожалуйста, дайте мне лучший способ двигаться вперед.Что лучше WebSocket или Long Polling в Signalr?

+1

Почему downvoted? позволь мне встать, если мне нужно что-нибудь исправить? –

ответ

11

Лучшая вещь о SignalR заключается в том, что вам не нужно беспокоиться о Long Polling и WebSockets, но сама инфраструктура имеет дело с ней.

При первом запуске SignalR попытается использовать WebSockets, поскольку он является самым новым и использует наименее широкополосный доступ. Затем он будет возвращаться к Server Sent Events, Forever Frame и Long Polling, все в зависимости от технологии, доступной на сервере и на клиенте.

http://www.asp.net/signalr/overview/getting-started/introduction-to-signalr Здесь вы поняли эти понятия.

Чтобы подвести итог, вы не должны указывать структуру, какую технологию использовать, но она должна определять для себя (при работе с каждым клиентом - браузером), в зависимости от доступной технологии на сервере и на клиенте.

Надеюсь, это поможет! Удачи!

+0

Я использую 'asp.net' не mvc. по вашему мнению, какой из них должен быть лучше? У меня есть много-много веб-приложений, использующих «серверные события отправки» и «длительный опрос». Но я ищу один-один чат, и у меня есть один образец проекта с «длинным опросом», который не работает. –

+0

Я еще раз скажу, если вы настроили проект на использование SignalR, по умолчанию он попытается использовать WebSockets. Если по разным причинам WebSockets недоступны (из-за сервера или из-за клиента), он будет пытаться Server Sent Events и так далее. Конечно, рекомендуется использовать WebSockets, а не использовать Long Polling, который используется только SignalR в качестве последнего средства. Является ли мой ответ более ясным сейчас? –

+0

Да, это сейчас. –