当前位置: 首页 > 知识库问答 >
问题:

Web套接字的最小工作示例

孟花蜂
2023-03-14

我想以正确的方式做到这一点,所以没有客户端和服务器的框架或附加件。我想像这里所描述的那样使用PHP的原生web套接字,但不会用深入的类使事情过于复杂...

http://www.php.net/manual/en/intro.sockets.php

我已经整理了一些基本的JavaScript...

window.onload = function(e)
{
 if ('WebSocket' in window)
 {
  var socket = new WebSocket('ws://'+path.split('http://')[1]+'mail/');

  socket.onopen = function () {alert('Web Socket: connected.');}

  socket.onmessage = function (event) {alert('Web Socket: '+event.data);} 
 }
}

>

  • 如果有必要,如何确定服务器的PHP安装是否已经具有此套接字功能?

    在示例中,请求实际上是作为get还是post请求处理的吗?

    我需要担心端口号吗?例如如果($_server['server_port']=='8080')

    我如何返回一个基本的消息,比如说,五秒钟后?

  • 共有1个答案

    弘烨烁
    2023-03-14

    创建一个简单的例子恐怕没那么简单。

    首先,如果服务器为套接字配置了enable-sockets设置,则需要签入php配置

    然后,您需要实现(或找到)至少遵循WebSockets的Hybi10规范(http://tools.ietf.org/html/draft-ietf-hybi-theWebSocketProtocol-10)的websocket服务器。如果您在标题代码中找到“神奇数字”258EAFA5-E914-47DA-95CA-C5AB0DC85B11,您可以肯定它至少遵循Hybi06······

    最后,您需要访问服务器上的管理控制台,以便使用php-q server.PHP执行PHP websocket服务器

    编辑:这是我一年前使用的......在当前支持WebSockets的浏览器中,它可能仍然可以像预期的那样工作:http://code.google.com/p/phpWebSocket/source/browse/trunk/+phpWebSocket/?r=5

     类似资料:
    • 问题内容: 有人可以用一个完整的最小示例来解释Laravel 5.3中的ajax post方法吗?我知道网络上有一些资源,但是我想念一个简洁,直接的最小示例。 问题答案: 我假设您对模型-控制器-视图范例有基本的了解,对Laravel的基本了解,以及对JavaScript和JQuery的基本了解(为简单起见,我将使用它们)。 我们将创建一个编辑字段和一个发布到服务器的按钮。(这适用于Laravel

    • 问题内容: 可以说有一个嵌套列表,例如: 在此函数上调用时: 收到的输出是 为什么以及如何运作?它有哪些用例? 问题答案: 如何在Python中比较列表和其他序列? 从字典上比较Python中的列表(和其他序列),而不是基于任何其他参数。 可以将序列对象与具有相同序列类型的其他对象进行比较。比较使用 字典 顺序:首先比较前两个项目,如果它们不同,则确定比较的结果;如果它们相等,则比较下两个项目,依

    • 我正在尝试在heroku上运行我的第一个django应用程序,我设法成功部署了该应用程序,除了Web套接字之外,一切都正常。在本地,我在内存通道中使用,一切都正常。我在内存通道和redis中尝试了heroku,但都不起作用。我尝试了许多不同的配置,但我无法找出任何有效的解决方案。Heroku日志也没有给我任何可能出错的线索... 我在浏览器中得到的错误: Javascript 客户端代码: [我尝

    • 开始使用akka-streams,我想构建一个简单的示例。在chrome中,使用web套接字插件,我可以通过并发送2个命令,简单地连接到这样的流https://blockchain.info/api/apiwebsocket 将在chromes web socket插件窗口中传输结果。 我试图在akka流中实现相同的功能,但面临一些问题: 执行了2个命令,但我实际上没有获得流输出 同一命令执行两次

    • 我已经创建了一个web socket来接收单个消息,它将进行一些处理并将响应消息返回给客户端。我已经使用Play框架创建了web socket。下面给出了代码片段。 代码片段: 我已经测试了我的web套接字从http://www.websocket.org/echo.html.我连接了我的web套接字,并按顺序传递了三个消息,分别是“1”、“2”和“3”。我在传递这些消息时得到了下面的响应。 we

    • 问题内容: Windows下java中的最大套接字数是多少?我该如何更改? 问题答案: 这在很大程度上取决于为操作系统配置的最大文件描述符(Windows中的句柄)数量。每个打开的文件或套接字使用一个文件描述符。例如,在Solaris中,max fd的默认值为65536。可能会有使用FD池的其他文件,因此限制了套接字的上限,除非操作系统经过调整以增加FD的数量 在Windows NT / 2000