Ответ 1
сэр SuperWebSocket включает реализацию сервера WebSocket и реализацию клиента WebSocket. Страница проекта SuperWebSocket
Итак, Я нашел эту удивительную вещь под названием HTML5 WebSockets, новый API. Это все еще в версии DRAFT, но довольно хорошо поддерживается. Полнодуплексная двунаправленная связь. Я знаю, как использовать его с помощью JavaScript, есть API. Но если я хочу использовать клиент WebSocket в моем приложении С#/.NET, как это сделать?
Например, JavaScript: http://bohuco.net/blog/2010/07/html5-websockets-example/
Существуют ли какие-либо специальные клиентские библиотеки для WebSockets в .NET?
сэр SuperWebSocket включает реализацию сервера WebSocket и реализацию клиента WebSocket. Страница проекта SuperWebSocket
Недавно я провел некоторое исследование этого процесса, создав клиентскую библиотеку .NET и Silverlight для Pusher. Я нашел следующие клиентские библиотеки и проекты WebSocket:
На данный момент реализация Microsoft, вероятно, самая простая в использовании, и у нее также есть библиотека Silverlight. SuperWebSockets имеет проект Silverlight в источнике, но не в последнем падении.
Начиная с .NET 4.5 клиенты WebSocket поддерживаются через System.Net.WebSockets.ClientWebSocket
Вы можете просмотреть или загрузить образец приложения С# с веб-сайта кода MSDN: http://code.msdn.microsoft.com/WebSockets-middle-tier-5b2972ce/sourcecode.
В опроснике вопроса выборка в основном сосредоточена на подключении к службам WebSocket, что является еще одним важным вариантом использования сетевого приложения С#.
Вам лучше попробовать WebSocket4Net: http://websocket4net.codeplex.com/
Я не пробовал реализацию Microsoft, но я думаю, что Xsockets имеет самое быстрое время установки (пакет nuget). Менее 3 минут от начала до запуска полного socketserver + client (приложение для демонстрационного чата). Youtube demo
Он имеет резервную копию Silverlight и flash для старых браузеров.
Вы можете использовать http://www.nuget.org/packages/Microsoft.AspNet.SignalR/ или http://www.asp.net/signalr
ASP.NET SignalR - это новая библиотека для разработчиков ASP.NET, которая упрощает разработку веб-функций в режиме реального времени. SignalR позволяет осуществлять двунаправленную связь между сервером и стороной. Теперь серверы могут мгновенно перенаправлять контент на клиентский доступ, когда он становится доступным. SignalR поддерживает веб-сокеты и возвращается к другим совместимым технологиям для старых браузеров. SignalR включает в себя API для управления соединениями (например, подключение и отключение событий), группирование соединений и авторизацию.
Друг и я только что выпустил очень легкий, скудный, масштабируемый сервер веб-серверов С#: https://github.com/Olivine-Labs/Alchemy-Websockets
Мы построили его для использования в нашей онлайн-игре, поэтому нашей главной задачей было быстрое и эффективное управление множеством соединений. Это из моих исследований, наиболее эффективно там. И, в качестве бонуса, он поддерживает флеш-сети как резерв для пользователей без браузеров с поддержкой websocket.
Если вы ищете высокопроизводительный корпоративный сервер WebSocket, посмотрите Kaazing. Kaazing имеет полную поддержку .NET, включая Xamarin.
Ниже приведено пошаговое руководство для AMQP: Контрольный список: создание клиентов Microsoft.NET AMQP.
[Раскрытие: я работаю для Kaazing.]
Да, вам понадобится сервер-посредник, который поддерживает протокол WebSocket. Этот сервер может быть написан на любом языке, включая .NET. Здесь один для .NET, но это действительно может быть любой язык. Что касается вашего сайта, это может быть ASP.NET и клиентская часть в javascript, которая будет разговаривать с сервером WebSocket.
Я развертываю XSockets.net. Структура работает неплохо, она поддерживается, разработчики предлагают платную поддержку, но для нормальных проблем они также довольно активны здесь, в SO, и они много помогают.
Они предлагают API-интерфейс .net для реализации сокетов, а также javascript API для клиента.
В качестве резюме я могу порекомендовать его.
У вас есть несколько вариантов