Websocket客户端和服务器
该库包含用于PHP的Websocket客户端和服务器。
客户端和服务器提供了用于读取和写入WebSocket流的方法。
此存储库取代了废弃的textalk/websocket Repo,并由SörenJensen维护,SörenJensen自v1.3以来一直在维护原件。
一些功能
- 客户端和多连接服务器
ws(TCP)和wss(SSL)支持- 听众回调传入消息和其他事件
- 关闭和PING/PONG处理(标准中间Wares)
- 放气压缩(中间件)
- 其他可选的中间Wares和创建自己的中间地点的能力
- 支持消息碎片和有效载荷掩蔽
文档
- 文档
- 客户端 – Websocket客户端
- 服务器 – Websocket服务器
- ChangElog-此存储库的更改
- 贡献 – 贡献者和要求
- 示例 – 示例
- V2-> V3-如何从V2迁移到V3
安装
首选安装方法是与作曲家一起使用。
composer require phrity/websocket
客户
客户端可以在WebSocket流上读写。它在内部支持升级握手以及隐式关闭和乒乓球操作。
为请求/响应策略设置Websocket客户端。
$ client = new WebSocket \\ Client ( \" wss://echo.websocket.org/ \" ); $ client // Add standard middlewares -> addMiddleware ( new WebSocket \\ Middleware \\ CloseHandler ()) -> addMiddleware ( new WebSocket \\ Middleware \\ PingResponder ()) ; // Send a message $ client -> text ( \" Hello WebSocket.org! \" ); // Read response (this is blocking) $ message = $ client -> receive (); echo \" Got message: { $ message -> getContent ()} \\n\" ; // Close connection $ client -> close ();
为连续订阅设置Websocket客户端
$ client = new WebSocket \\ Client ( \" wss://echo.websocket.org/ \" ); $ client // Add standard middlewares -> addMiddleware ( new WebSocket \\ Middleware \\ CloseHandler ()) -> addMiddleware ( new WebSocket \\ Middleware \\ PingResponder ()) // Listen to incoming Text messages -> onText ( function ( WebSocket \\ Client $ client , WebSocket \\ Connection $ connection , WebSocket \\ Message \\ Message $ message ) { // Act on incoming message echo \" Got message: { $ message -> getContent ()} \\n\" ; // Possibly respond to server $ client -> text ( \" I got your your message \" ); }) -> start ();
服务器
该服务器是多连接,侦听服务器。它在内部支持升级握手以及隐式关闭和乒乓球操作。
设置一个用于连续侦听的WebSocket服务器
$ server = new WebSocket \\ Server (); $ server // Add standard middlewares -> addMiddleware ( new WebSocket \\ Middleware \\ CloseHandler ()) -> addMiddleware ( new WebSocket \\ Middleware \\ PingResponder ()) // Listen to incoming Text messages -> onText ( function ( WebSocket \\ Server $ server , WebSocket \\ Connection $ connection , WebSocket \\ Message \\ Message $ message ) { // Act on incoming message echo \" Got message: { $ message -> getContent ()} \\n\" ; // Possibly respond to client $ connection -> text ( \" I got your your message \" ); }) -> start ();
执照
ISC许可证
