Php 用于实时聊天应用的HTML5 WebSocket?

Php 用于实时聊天应用的HTML5 WebSocket?,php,html,websocket,chat,Php,Html,Websocket,Chat,我们计划使用Websockets技术制作一个基于HTML5的聊天应用程序 所以我的问题是: 到目前为止,哪些浏览器在本机上支持WebSocket 如果浏览器不支持它,那么可能的回退是什么 是否有一种polyfill可以提供帮助 关于,正如NullPoièteè和Orangepill所指出的,您可以查看和。这就是你的第一点/ 你的第二点和第三点更倾向于回退选项。你可以用投票。有关更多信息,请参见此 这不是你的问题,而是你应该考虑的一点,因为你把它标记在PHP之下。只要用户处于活动状态,WebSoc

我们计划使用Websockets技术制作一个基于HTML5的聊天应用程序

所以我的问题是:

到目前为止,哪些浏览器在本机上支持WebSocket

如果浏览器不支持它,那么可能的回退是什么

是否有一种polyfill可以提供帮助


关于,

正如NullPoièteè和Orangepill所指出的,您可以查看和。这就是你的第一点/

你的第二点和第三点更倾向于回退选项。你可以用投票。有关更多信息,请参见此

这不是你的问题,而是你应该考虑的一点,因为你把它标记在PHP之下。只要用户处于活动状态,WebSocket就具有活动连接。PHP不适用于此,您的服务器将涌入连接,而且具有恶意的人可以轻松确保服务器被淹没

这是因为如果您想要它,您需要将超时限制设置为0,因此永远不会。因此,您的服务器将堆叠请求,直到其已满。我不知道它是如何起到连接作用的

如果你不想使用WebSocket和PHP,你应该看看。我用这个服务来聊天。它就像魔术一样,把你所有的困难都带走了


我希望这些信息能帮助你开发一款nive应用程序

正如NullPoièteè和Orangepill所指出的那样,你可以查看和下载。这就是你的第一点/

你的第二点和第三点更倾向于回退选项。你可以用投票。有关更多信息,请参见此

这不是你的问题,而是你应该考虑的一点,因为你把它标记在PHP之下。只要用户处于活动状态,WebSocket就具有活动连接。PHP不适用于此,您的服务器将涌入连接,而且具有恶意的人可以轻松确保服务器被淹没

这是因为如果您想要它,您需要将超时限制设置为0,因此永远不会。因此,您的服务器将堆叠请求,直到其已满。我不知道它是如何起到连接作用的

如果你不想使用WebSocket和PHP,你应该看看。我用这个服务来聊天。它就像魔术一样,把你所有的困难都带走了

我希望这些信息能帮助你开发一款nive应用程序

到目前为止,哪些浏览器在本机上支持WebSocket

正如前面的回答所指出的那样

见:

如果浏览器不支持它,那么可能的回退是什么

如果您的实时web服务器只支持WebSocket,那么下一个最好的选择是使用基于Flash的polyfill,它创建一个WebSocket对象,可以与原生WebSocket对象以相同的方式进行交互

其他回退(需要实时web服务器支持并由其提供的JavaScript客户端库管理)按从最佳到最差的顺序排列:

EventSource-来自服务器->客户端的单个流连接。使用第二个HTTP请求可以实现双向通信。 HTTP流-使用两个连接来模拟双向连接。消息通过持久的“流式”连接服务器->客户端“推送” HTTP长轮询-还使用两个连接。但是,服务器->客户端将被打开并保持,直到有新消息可用或出现超时。然后关闭它,如果设置了任何数据,它将在响应中传递。 标准HTTP轮询—效率要低得多,这是因为存在大量潜在的浪费请求。但是,如果应用程序交付的更新不经常发生,并且在轮询请求之间的时间内数据是否“过期”也无关紧要,那么这可能是一个可接受的解决方案。这里没有“推”。 备选方案1。二,。可以通过多种不同的方式实现,具体取决于web浏览器。这就是他们“黑客”的原因。现在,我们有了用于双向通信的WebSocket和EventSource server发送的事件,这与HTTP流非常相似,还具有支持自动重新连接的额外好处

是否有一种polyfill可以提供帮助

是的,如前所述

对于PHP,您的最佳选择是。它不在Apache中运行,因此不会受到相同的限制——它不是在考虑请求/响应范式的情况下构建的

我现在看到的最常用的解决方案是:

-node.js和ruby -node.js和端口可用于各种其他语言 -erlang、node.js、ruby -.NET -.NET 对于其他选项,包括托管服务,如我在撰写本文时为谁工作,请看一看我正在维护并接受的贡献

到目前为止,哪些浏览器在本机上支持WebSocket

正如前面的回答所指出的那样

见:

如果浏览器不支持它,那么可能的优雅回退是什么?

如果您的实时web服务器只支持WebSocket,那么下一个最好的选择是使用基于Flash的polyfill,它创建一个WebSocket对象,可以与原生WebSocket对象以相同的方式进行交互

其他回退(需要实时web服务器支持并由其提供的JavaScript客户端库管理)按从最佳到最差的顺序排列:

EventSource-来自服务器->客户端的单个流连接。使用第二个HTTP请求可以实现双向通信。 HTTP流-使用两个连接来模拟双向连接。消息通过持久的“流式”连接服务器->客户端“推送” HTTP长轮询-还使用两个连接。但是,服务器->客户端将被打开并保持,直到有新消息可用或出现超时。然后关闭它,如果设置了任何数据,它将在响应中传递。 标准HTTP轮询—效率要低得多,这是因为存在大量潜在的浪费请求。但是,如果应用程序交付的更新不经常发生,并且在轮询请求之间的时间内数据是否“过期”也无关紧要,那么这可能是一个可接受的解决方案。这里没有“推”。 备选方案1。二,。可以通过多种不同的方式实现,具体取决于web浏览器。这就是他们“黑客”的原因。现在,我们有了用于双向通信的WebSocket和EventSource server发送的事件,这与HTTP流非常相似,还具有支持自动重新连接的额外好处

是否有一种polyfill可以提供帮助

是的,如前所述

对于PHP,您的最佳选择是。它不在Apache中运行,因此不会受到相同的限制——它不是在考虑请求/响应范式的情况下构建的

我现在看到的最常用的解决方案是:

-node.js和ruby -node.js和端口可用于各种其他语言 -erlang、node.js、ruby -.NET -.NET
对于其他选项-包括托管服务,如我在撰写本文时为谁工作-请看一看我正在维护并接受贡献的内容。

Faye很了不起,我喜欢Pusher,但我想要一些免费且易于实现的东西,可以在我自己的服务器上管理。在开始学习Node.js之后,我对Faye印象深刻。它提供了对WebSocket、http的强大支持,但我喜欢您可以使用Bayeux协议


Faye很了不起,我喜欢Pusher,但我想要一些免费且易于实现的东西,我可以在自己的服务器上管理。在开始学习Node.js之后,我对Faye印象深刻。它提供了对WebSocket、http的强大支持,但我喜欢您可以使用Bayeux协议


如果您不想为了学习而构建它,那么可以使用node.js,这是一个很好的起点,您还可以找到大量资源,引导您从头开始

但对我来说,我更喜欢使用PHPWebSocket服务器进行通信,使用javascript进行clent端
在的帮助下,您可以开始构建web socket服务器。

如果您不想为了学习而构建它,您可以使用node.js,这是一个很好的起点,您还可以找到大量资源,引导您从头开始

但对我来说,我更喜欢使用PHPWebSocket服务器进行通信,使用javascript进行clent端
在的帮助下,您可以开始构建您的web套接字服务器。

我们已经完成了这样的工作,构建一个与html5 web套接字连接的稳定php套接字服务器是一件非常困难的事情


关于我们的FAQ的一些信息:

我们已经做了这样的事情,构建一个与HTML5WebSocket连接的稳定的php socket服务器是非常困难的


我们常见问题解答的一些信息:

所有主要浏览器支持web套接字,若要查看在浏览器中打开此链接,请检查所有主要浏览器支持web套接字,若要查看在浏览器中打开此链接,请检查Pusher是否已付费,我正在寻找可以帮助我在服务器中安装整个内容的内容。是的,我目前正在研究socket.io,是的,我认为PHP最终会引发各种各样的问题,所以我想知道是否有任何方法可以防止内存丢失,就像pusher服务正在使用的那样?你可以做的是使用WebSocket和轮询。不理想,但您使用websocket进行通信,轮询每小时发送一条消息,如果未收到,连接将被清空。再不理想。PHP不是为这种通信而设计的,Pusher是付费的,我正在寻找一些东西来帮助我在我的服务器上安装整个东西。是的,我目前正在研究socket.io,是的,我认为PHP最终会引发各种各样的问题,所以我想知道是否有任何方法可以防止内存丢失,就像pusher服务正在使用的那样?你可以做的是使用WebSocket和轮询。不是很理想,但很有吸引力
您使用websocket进行通信,轮询每小时发送一条消息,如果未收到,连接将被清空。再不理想。PHP不是为这种通信而设计的。你真的认为PHP是一个很好的工具来制作一个有内存问题的WebSocket服务器吗?请定义内存问题,这取决于你不想创建的应用程序的类型。你真的认为PHP是一个很好的方法来创建一个有内存问题的WebSocket服务器吗?请定义内存问题,这取决于你不想创建的应用程序的类型