WebSocket 后备服务器端
Posted
技术标签:
【中文标题】WebSocket 后备服务器端【英文标题】:WebSocket fallback server side 【发布时间】:2012-05-22 18:04:56 【问题描述】:我在服务器端使用 fleck (https://github.com/statianzo/Fleck) 来支持网页上的 WebSockets。这工作得很好,我真的很喜欢 feck 中的简约方法,没有广泛的配置要求,而且它是用 .NET 编写的。但是,不利的一面是,它没有任何后备实现。我一直在搜索很多,但我似乎找不到类似的 ajax long-pollong 或 flash 解决方案来与 feck 结合使用。我相信 node.js 和 socket.io 内置了这个,但似乎没有一种简单的方法可以将它们与 .NET 集成。我也发现了一些其他的 .net 实现,但不是像 feck 那样紧凑。
非常感谢任何建议或指示。谢谢!
【问题讨论】:
【参考方案1】:您不需要后备实现。要么使用 websocket,让调用者使用它们,要么不使用。
如果您使用的是 websocket,请确保您的用户可以接受。
如果您的所有用户都无法接受,请不要使用 websockets。让他们根据需要经常投票。
维持两个是没有意义的。
【讨论】:
【参考方案2】:我发现添加一个ajax fallback非常简单,使用MVC3; http://www.cleancode.co.nz/blog/739/ajax-aspnet-mvc-3
【讨论】:
【参考方案3】:由于 IE9 不支持 web sockets 但当前的 Safari/Firefox/Chrome/IE10/等。然后支持长轮询作为后备确实很有意义 IMNSHO。
“简单”的解决方案是 SignalR (http://signalr.net) - 不幸的是,要让 websocket 部分亮起来,您需要在 Windows 8 上运行 - 除此之外,您可以使用 SignalR 专注于您的应用程序为您抽象出运输细节。
【讨论】:
以上是关于WebSocket 后备服务器端的主要内容,如果未能解决你的问题,请参考以下文章