对于使用HTML5 Webockets或Signalr进行聊天,我将陷入困境,我们将集成到我们的ASP.NET MVC3应用程序中

我的困境
1.为什么使用 信号 如果它实现了长期填充?
2.不长胶吗?
3.威力和长胶完全不同吗?
4.只有IIS8支持Websocket?
5.我可以使用HTML5 Websockets将聊天数据保存到SQL数据库中吗?
6.没有解决方法可以使Webocket在IIS7和更高版本上工作(我将仅使用Chrome浏览器)
感谢您与我联系

有帮助吗?

解决方案

  1. 如果实现长期填充,为什么要使用SignalR?

    答:为了支持旧浏览器或比数据传输实现详细信息具有更高水平的抽象。如果您肯定会使用具有Websocket支持的Chrome版本,请使用WebSocket(很好的解释 这里).

  2. 长期不好吗?

    答案:实际上,这不是最好的(请参阅上面的链接),而是旧浏览器总比没有好。

  3. Websocket和长胶条完全不同?

    答:它们是完全不同的(再次,请参见上面的答案),但是他们有共同点(它们都需要连接)。

  4. 只有IIS8支持Websocket?

    答:如果您想使用纯.NET框架 - 是的,只有IIS 8和.NET 4.5。但是您可以使用另一台Websockets服务器(请参见下面的解决方法)。

  5. 我可以使用HTML5 Websockets将聊天数据保存到SQL数据库中吗?

    答:WebSocket只是发送的协议 数据, ,从字面上看 使用它 除了传输数据外,您不能执行任何操作。但是,您可以说,您可以将其发送到服务器的令牌,这意味着“将所有以前的数据保存到DB”。或者,您可能会根据不同类型的消息(例如Inplemended in in In in socket.io for node.js.

  6. 是否有解决方法可以使Webockets在IIS7和更高版本上工作(我将仅使用Chrome浏览器)

    答案 - 是的,只是不要使用IIS,而是另一个WebSockets服务器实现(例如 斑点 - 对支持Webseckets的“旧”浏览器有很好的支持),并与IIS一起运行,作为一个单独的过程。

其他提示

如果IIS和您的浏览器支持此功能,SignalR可以支持Websockets,如果不是这样,则可以使用Longpolling。使用SignalR将为您节省大量时间来重新发明轮子,他们已证明您可以使用它创建一个良好的聊天网站。

enter image description here

希望它能解决您的所有查询。

4.只有IIS8支持Websocket?

Signalr支持JSON2.JS的IE <8。只要与Nuget一起获得 安装包JSON2

确保在Signalr.js之前添加对JSON2.JS的引用

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top