我们计划利用Websockets技术制作一个基于HTML5的聊天应用程序。
所以我的问题是:
致以敬意,
发布于 2013-06-03 15:02:00
到目前为止,哪些浏览器以本地方式支持Websockets?
正如以前的答复所指出的那样。
请参见:
如果浏览器不支持它,什么是可能的优雅退步?
如果您的实时web服务器只支持WebSockets,那么接下来的最佳选择是使用网络套接字-js,它是一个基于Flash的填充,它创建了一个与原始WebSocket对象相同的与之交互的WebSocket对象。
其他备份--需要由实时web服务器支持并由它提供的客户端库管理的--被排序为最糟糕的:
选项1和2可以通过多种不同的方式实现,具体取决于web浏览器。这就是他们的“黑客”。我们现在有了用于双向通信的WebSocket和EventSource (服务器发送事件),这非常类似于HTTP流,它的额外好处是支持自动重连接。
有能帮上忙的多填物吗?
是的,参见前面提到的网络套接字-js。
对于PHP来说,最好的选择是棘轮。它不是在Apache中运行的,所以它没有受到相同的限制--它构建时没有考虑到请求/响应范式。
我现在看到的最常用的解决方案是:
对于其他选项--包括推手之类的托管服务(我在撰写本文时为其工作)--请看一下我正在维护的这个实时网络技术指南 (并接受对它的贡献)。
发布于 2013-06-03 06:32:53
正如NullPoiиteя和Orangepill所指出的,您可以查看html5please和и。所以这就是你的第一点
您的第二点和第三点更适合作为后备选项。你可以用投票。(有关更多信息,请参见此回答 )。
这不是你的问题,而是你应该考虑的一点(因为你把它标记在php下)。只要用户处于活动状态,Websockets就有活动连接。PHP不是这样做的,您的服务器将被淹没在连接中,而且一个意义不佳的人也可以很容易地确保服务器被淹没。
这是因为如果您想要它,您需要将超时限制设置为0(所以永远不要)。因此,您的服务器将堆叠这些请求,直到它满了为止。(我不知道它是如何起连接作用的)。
如果您不想使用websockets和PHP,那么您应该看看推手。我用这个服务来做我自己的聊天。它像魔法一样运作,把所有困难的东西都从你身上拿走。
我希望这些信息能帮助你开发一个应用程序。
发布于 2013-06-04 03:23:39
Faye是令人惊奇的,我喜欢Pusher,但是我想要一些免费和容易实现的东西,我可以在我自己的服务器上管理。在开始学习Node.js之后,我对Faye印象深刻。它为websockets提供了很好的支持,http,但我喜欢您可以使用Bayeux协议。
https://stackoverflow.com/questions/16890796
复制相似问题