单声道上的SignalR和Websockets

本文关键字:SignalR Websockets 声道 单声道 | 更新日期: 2023-09-27 17:50:47

我已经做了几个小时的搜索,试图找出为什么websockets传输不能通过signalr在我的c# 4.5应用程序上通过mono 4.0.1运行在linux上。

参考资料在我的项目:

  • Microsoft.Owin.Host.HttpListener
  • Microsoft.Owin.Host.SystemWeb

现在,我正试图找出阻碍websockets工作的瓶颈在哪里。我理解它的方式,是SystemWeb基本上是一个自我运行的服务器,利用Httplistener监听端口的HTTP连接,然后处理它们到SystemWeb。这部分我写对了吗?

谁能给我指出一个开放问题的正确方向,或者一个目前正在开发的错误跟踪器?从这个答案中我可以看出,http.sys中有一些核心功能是Windows 8所需要的。有没有计划在mono中实现这个?我不喜欢得到一些第三方库,并得到这个工作在SignalR .

单声道上的SignalR和Websockets

大约3个月前,我在一个使用Angular 2和singalr的项目中做了类似的调查。我希望,web套接字的使用对你的项目不是必需的。

正如你在这里看到的一个Xamarin开发人员所说,它不能工作,因为System.Web.WebSocket没有在Mono中实现,他们也不打算在这几天实现它。

我相信mono的http栈还有很多工作要做现在,在我们看到这个特别的之前,可能需要稳定下来问题解决了。

我建议继续你的工作与当前的mono作为信号回落websockets它不会是一个巨大的问题,当它被实现到mono你可以简单地只是更新你的项目。按照微软目前的开源政策,我相信它会比预期的更快。

如果你的项目需要websocket功能,那么你应该fork SignalR或者找到一个使用第三方解决方案的分支版本,现在WebSocketListener非常流行,并且有更多的功能。

我鼓励任何有兴趣的人分叉SignalR,看看他们是否可以使用这些xplat websockets实现之一来使其工作他们自己的分支。

更新:

不幸的是,我找不到WebSocketListener的SignalR的任何分支,但因为它有很多分支,所以很难找到。

据我所知,Mono团队几乎停止了所有的实现,专注于ASP。Net vNext实现到Mono,因为它是开源的。