allansun/websocket

WebSocket 客户端和服务器

1.2.0 2015-10-09 07:32 UTC

This package is auto-updated.

Last update: 2024-08-26 21:07:12 UTC


README

Build Status Coverage Status

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

我制作它是因为我能找到的其他 WebSocket 客户端要么质量非常差(有时在大帧上失败),要么有巨大的依赖(React...)。

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

服务器存在,因为编写服务器的大部分代码将是相同的,并且因为它用于测试。但为了真正有用,应该从新的连接返回一个 Connection 类,服务器类只处理握手。然后你可以保持一个完整的连接数组,并定期检查它们是否有新数据,向它们发送一些东西,或者为处理一个连接而创建一个进程。但是,我现在没有这个需求。(实际上,我会建议使用比 PHP 更好处理异步的语言。)

安装

推荐使用 Composer 安装。

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

"require": {
  "allansun/websocket": "1.*"
}

客户端使用

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.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 中的 user:pass 进行基本身份验证。