Эта библиотека содержит клиент и сервер WebSocket для PHP. Заменяет textalk/websocket .
Клиент и сервер предоставляют методы чтения и записи в потоках WebSocket.
Этот репо заменяет заброшенную репо textalk/websocket и поддерживается Сёрен Дженсеном, который поддерживает оригинал с v1.3 .
Предпочтительный способ установки - это композитор.
composer require phrity/websocket
Клиент может читать и писать в потоке WebSocket. Он внутренне поддерживает обновление рукопожатия и неявные операции Close и 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 ();Сервер - это многочисленное соединение, сервер прослушивания. Он внутренне поддерживает обновление рукопожатия и неявные операции Close и 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