zanderwar / php-websocket
PHP中简单的WebSocket服务器和客户端实现。
v2.1.0
2020-11-15 11:21 UTC
Requires
- php: ^7.2
This package is auto-updated.
Last update: 2024-09-20 16:50:54 UTC
README
无冗余的PHP WebSockets
使用PHP实现简单的WebSocket服务器和客户端。
关于
此应用程序是PHP中极简单的WebSocket协议实现。它包含服务器和客户端。此实现非常适合入门WebSocket并学习相关知识。一旦你想创建一个功能齐全的基于WebSocket的应用程序,你可能需要切换到更复杂的解决方案。
安装
将仓库克隆或下载到您的服务器。您也可以通过运行以下命令使用composer安装此包:
composer require bloatless/php-websocket
要求
- PHP >= 7.2
提示:如果您仍在使用PHP5,可以使用版本1.0。
使用方法
- 调整
cli/server.php
以满足您的需求。 - 运行:
php cli/server.php
这将启动一个WebSocket服务器。(默认为localhost:8000)
服务器示例
这将创建一个监听在端口8000的WebSocket服务器。
服务器上有两个注册的应用程序。演示应用程序可在 ws://localhost:8000/demo
上访问,状态应用程序可在 ws://localhost:8000/status
上访问。
// Require neccessary files here... $server = new \Bloatless\WebSocket\Server('127.0.0.1', 8000); // Server settings: $server->setMaxClients(100); $server->setCheckOrigin(false); $server->setAllowedOrigin('foo.lh'); $server->setMaxConnectionsPerIp(100); $server->setMaxRequestsPerMinute(2000); // Add your applications here: $server->registerApplication('status', \Bloatless\WebSocket\Application\StatusApplication::getInstance()); $server->registerApplication('demo', \Bloatless\WebSocket\Application\DemoApplication::getInstance()); $server->run();
客户端示例
这将创建一个WebSocket客户端,连接到服务器并向服务器发送消息
$client = new \Bloatless\WebSocket\Client; $client->connect('127.0.0.1', 8000, '/demo', 'foo.lh'); $client->sendData([ 'action' => 'echo', 'data' => 'Hello Wolrd!' ]);
浏览器示例
仓库中包含两个用于在浏览器中调用的演示页面。您可以在 public
文件夹中找到它们。 index.html
是一个简单的应用程序,您可以使用它向服务器发送消息。
status.html
将显示各种服务器信息。