那么...... ASP.NET MVC和WebSockets?

bev*_*qua 10 c# iis comet websocket asp.net-mvc-3

我在MVC 3中有一个应用程序,我正在寻找添加WebSockets(后备到Comet).

我研究了一下,我发现Comet部分很简单,我宁愿自己做.只需AsyncControllers和一些非常简单的js就可以处理那些长期存在的ajax请求.

现在,就WebSocket而言,事情开始变得肮脏.我看了几个库,但他们似乎主要设置了一个自己的Web服务器(因此需要另一个主机或端口),并在那里监听ws协议请求.例如SuperWebSocket就是这种情况,一开始看起来不错,但是这个"我是一个网络服务器"问题(当然这很好,但我宁愿避免).

然后我看了"PingIt"或类似的东西,我现在找不到链接..,我确实在另一台计算机上有源.这个可以在mvc中的端点上运行,但我不太喜欢它处理事物的方式,比如它需要一个IDisposable对象并通过反射器创建一个javascript片段,在客户端呈现,这是非常污染的他们的图书馆的名字,我真的没有兴趣,加上它感觉很多东西被扔进了我想要的东西,这与我对如何呈现页面的看法有所不同(特别是现在我正在研究MVC,这意味着我可以编写干净,不引人注目的html页面).

基本上我想要的是我的端点是这样的:

domain.com/rt/comet
domain.com/rt/socket

而不是

domain.com/rt/comet
domain.com:81/

那么:是否可以在asp.net MVC应用程序的控制器中的端点上接收websocket连接(并进行握手和需要完成的任何操作),而不是在某处设置tcplistener?

这也可以帮助我保持我的彗星代码更接近我的websocket代码

我应该说我对整个彗星/ websockets事情都很认真,所以我真的不太了解(或任何)协议,我知道如何使彗星工作,但在websockets中却没有那么多,尽管我已经阅读并理解了基础知识以获得它的要点.

另外:请告诉我,如果我要求的是离开的话