网络套接字问题

我有几个关于Web Sockets的问题。

最新的Firefox 4.0夜晚支持Web套接字。 Webkit(Chrome 4 + Safari 4/5)也是如此。 根据微软的说法,Internet Explorer 9在某些时候应该具有Web套接字功能(稳定版之前)。

无论如何,我的问题是:

  • 我正在构建一个JavaScript管理界面来管理一个网站。 我应该使用网络套接字的客户端服务器通信,而不是XMLHttpRequest的,如果我告诉你,我不需要在意浏览器的兼容性?

  • 与XMLHttpRequest的常见情况相比,Web套接字是否会导致更快速的保存,删除和更新调用? 请求会更加及时吗?

  • 我知道HTML5的navigator.onlinewindow.addEventListener('offline', ...) ,但是使用Web套接字(连接丢失时),我能够更准确,更快地检测到连接问题吗? 我的意思是,当我关闭互联网连接或者用防火墙阻止时,Firefox似乎仍然声明navigator.online真实的 。 使用Web套接字,似乎与服务器的连接将立即丢失,因此,我可以更准确地检测到连接问题?

  • 我可以支持Web套接字服务器端采用纯PHP,因此,该代码是便携与其他Web服务器( 无需安装任何Apache模块或做其他定制)。 我想将软件分发到几个地方,而不必让人们将各种模块安装到他们的HTTPD或其他地方。

  • 我希望你能尽可能多地回答这些问题。 我对答案很感兴趣。


    我正在构建一个JavaScript管理界面来管理一个网站。 如果我告诉你我不需要关心浏览器兼容性,我应该使用Web套接字进行客户端 - 服务器通信而不是XMLHttpRequest吗?

    在我看来,你只是为了它而使用WebSockets。 使用WebSockets的主要原因是当你想要将数据从服务器推送到客户端时。 如果你的应用程序不需要这个,你可能不应该使用WebSockets。

    与XMLHttpRequest的常见情况相比,Web套接字是否会导致更快速的保存,删除和更新调用? 请求会更加及时吗?

    由于缺少头文件,您可能会在两端(客户端和服务器)上节省一些时间。 但收益可能相当小。

    与Web套接字(连接丢失),我能够更准确,更快地检测到连接问题?

    是的,当WebSocket关闭时,事件将立即触发。 替代方案将是长轮询或定期XHR。 或事件客户端存储。

    我可以使用纯PHP支持Web Sockets服务器端,因此,代码可以与其他Web服务器一起使用

    首先,我建议你阅读一下。 WebSocket在同步方式下效果不佳。 以异步方式,PHP和apache不能很好地工作。 虽然有一些实现,但其中很多已经过时。 我个人会为此使用其他语言,例如ruby,python,java或服务器端JavaScript。 只是因为语言对异步模型有更好的支持,WebSocket实现更复杂。

    WebSocket协议目前仍然是一个草案,它可以改变。 就像几周前做的一样。 所以你的代码可能会崩溃。

    我的建议是:不要为了它而使用WebSockets。 如果你有一个实时的事件驱动的应用程序,那么它可能是正确的选择。 确保您了解什么是WebSockets,以及它在服务器端的用途,以及事件驱动的应用程序。 不要用它来制作任何东西,它太脆弱了。

    链接地址: http://www.djcxy.com/p/7773.html

    上一篇: Web Sockets questions

    下一篇: Using HTML5/Javascript to generate and save a file