WebSocket客户端和服务器

1.3 2019-10-25 13:05 UTC

This package is auto-updated.

Last update: 2024-09-29 05:09:07 UTC


README

Build Status Coverage Status

此包主要包含一个PHP的WebSocket客户端。

我创建它是因为我找到的其他WebSocket客户端的状态要么非常差(有时在大型帧上失败)或者有巨大的依赖(React…)。

客户端应该很好。如果不是,请告诉我!

服务器存在,因为在编写服务器时大部分代码都是相同的,并且因为它是用于测试的。但要真正有用,应该有一个从新连接返回的Connection类,以及仅处理握手的Server类。然后你可以保存一个完整的连接数组,并定期检查它们是否有新数据,向它们所有发送某些内容,或者为处理一个连接而fork一个进程。但是,我现在没有那个用途。(实际上,我建议使用比PHP有更好异步处理的编程语言。)

安装

首选的安装方式是通过Composer

只需在你的项目的composer.json中添加以下内容:

"require": {
  "james.rus52/websocket": "1.3.*"
}

客户端使用

require('vendor/autoload.php');

use WebSocket\Client;

$client = new Client("ws://echo.websocket.org/");
$client->send("Hello WebSocket.org!");

echo $client->receive(); // Will output 'Hello WebSocket.org!'

开发者安装

开发依赖于php、php-curl和php-xdebug。

# Will get composer, install dependencies and run tests
make test

许可证 (ISC)

版权 (C) 2014, 2015 Textalk 版权 (C) 2015 Patrick McCarren - 为大型有效载荷添加了有效载荷分段功能 版权 (C) 2015 Ignas Bernotas - 添加了流上下文选项

Websocket PHP是免费软件:允许以任何目的(包括但不限于付费)使用、复制、修改和/或分发此软件,前提是上述版权声明和本许可声明出现在所有副本中。

本软件按“原样”提供,作者放弃与此软件相关的所有保证,包括所有暗示的适销性和适用性保证。在任何情况下,作者均不对任何特殊、直接、间接或后果性损害或任何损害(无论因合同、疏忽或其他侵权行为而产生)负责,无论损害是否因使用或性能此软件而产生。

见COPYING。

变更日志

1.2.1

  • 对ping请求的Pong响应

1.2.0

  • 添加流上下文选项(例如,设置SSL allow_self_signed)。

1.1.2

  • 修复了损坏帧的错误消息。

1.1.1

  • 添加了许可证信息。

1.1.0

  • 支持大型有效载荷。

1.0.3

  • 错误修正:在错误消息中纠正地址

1.0.2

  • 错误修正:在请求头中添加端口

1.0.1

  • 修复了来自空有效载荷的bug。

1.0.0

  • 作为生产版发布。
  • 添加设置/覆盖头的选项。
  • 支持从URL中的用户:密码进行基本身份验证。