ASP.NET WebSocket

Ниже пример реализации WebSocket-сервера на ASP.NET via C#:
  1. Создаём новый пустой веб-сайт, в качестве фреймворка я выбрал 4.5.2
  2. Добавляем в корень файл CustomWS.ashx:

  3. Добавляем файл form.html

  4. И последний index.html
Короткое объяснение:
  1. Для обращения к веб-сокетам из JS необходимо использовать класс WebSocket, см. подробнее например здесь: https://learn.javascript.ru/websockets
  2. На серверной стороне сделан хендлер для обработки запроса, благодаря свойству context.IsWebSocketRequest можно понять, это запрос но открытие веб-сокета или нет
  3. Если запрос содержит начальное подтверждение AspNetWebSocket, то регистрируем обработчик через context.AcceptWebSocketRequest
  4. Ну а дальше см. код

Пример работы:

Ссылка на проект:

  1. web http://sansys-net-websockets.azurewebsites.net/
  2. исходники https://cloud.mail.ru/public/dacVwJuHUh8y/DemoWebSockets.zip
PS: 
  • текущий проект в ажуре допускает максимум 5 одновременных подключений, так что вы можете легко увидеть ошибки, лучше качайте исходники и смотрите локально, + можно попробовать всё ручками
  • код не является потокобезопасным для простоты

Комментариев нет:

Отправить комментарий

Можете оставить свой комментарий