У меня есть приложение в MVC 3, и я хочу добавить к нему WebSockets (с отступлением от Comet).
Я немного исследовал, и я узнал, что часть кометы довольно проста, и я бы скорее сделал это сам. Просто AsyncControllers и довольно простой бит js - это все, что требуется для обработки этих долгоживущих запросов ajax.
Теперь, в случае с WebSocket, все начинает пачкаться. Я просмотрел несколько библиотек, но в основном они, похоже, настраивают веб-сервер (поэтому нуждаются в другом хосте или порту) и прослушивают там запросы протокола ws. Например, для SuperWebSocket, который сначала казался приятным, но проблема с этим была "я - веб-сервер" (конечно, это нормально, но я бы предпочел избежать).
Затем я посмотрел на "PingIt" или что-то в этом роде, я не могу найти ссылку сейчас. Однако у меня есть источник на другом компьютере. Этот работает на конечной точке в mvc, но мне не совсем понравилось то, как он обрабатывает вещи, например, принимает объект IDisposable и через отражатель создает javascript-элемент, который визуализируется на клиенте, который очень загрязнен с их именем библиотеки, в котором я действительно не интересовался, плюс это чувствовало, что многие из них были брошены против того, что я мог бы пожелать, что противоречит моему мнению о том, как страница должна отображаться (особенно сейчас что я работаю над MVC, что в значительной степени означает, что я могу кодировать чистые, ненавязчивые html-страницы).
В принципе, я хочу, чтобы мои конечные точки были чем-то вроде:
domain.com/rt/comet
domain.com/rt/socket
а не
domain.com/rt/comet
domain.com:81/
Итак: возможно ли получать соединения с websocket (и выполнять квитирование и все, что должно быть сделано) на конечной точке в контроллере приложений ASP.NET asp.net, вместо того, чтобы где-то настраивать tcplistener?
Это также поможет мне сохранить код кометы немного ближе к моему коду websocket
Я должен сказать, что я серьезно новичок во всей работе кометы/веб-сайтов, поэтому я не очень много знаю (или любого) протокола, я понимаю, как сделать комету работу, но не так много в websockets, хотя я прочитал и понял основы, чтобы понять суть этого.
Также: пожалуйста, дайте мне знать, если то, что я прошу, не работает.