websocket php
v3.2.0
このライブラリには、PHP用のWebSocketクライアントとサーバーが含まれています。 textalk/websocketを交換します。
クライアントとサーバーは、WebSocket Streamsに読み書きの方法を提供します。
このリポジトリは、放棄されたtextalk/websocket Repoを置き換え、 v1.3以来オリジナルを維持しているSörenJensenによって維持されています。
インストールするのが好ましい方法は、作曲家です。
composer require phrity/websocket
クライアントは、WebSocketストリームで読み書きできます。アップグレードハンドシェイクと暗黙のクローズおよびping/pong操作を内部的にサポートします。
リクエスト/応答戦略のために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 ();サーバーはマルチ接続、リスニングサーバーです。アップグレードハンドシェイクと暗黙のクローズおよびping/pong操作を内部的にサポートします。
継続的なリスニング用の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ライセンス