1. Go to this page and download the library: Download belisoful/prado-websocket library. Choose the download type require.
2. Extract the ZIP file and open the index.php.
3. Add this code to the index.php.
<?php
require_once('vendor/autoload.php');
/* Start to develop here. Best regards https://php-download.com/ */
belisoful / prado-websocket example snippets
use Prado\IO\Socket\WebSocket\TWebSocketServer;
use Prado\IO\Socket\WebSocket\TWebSocketHandler;
$handler = new TWebSocketHandler();
$handler->attachEventHandler('onOpen', function ($connection) {
// a client connected (over HTTP/1.1 or an HTTP/2 stream)
});
$handler->attachEventHandler('onMessage', function ($connection, $message) {
$connection->send("echo: $message"); // reply on the same connection
});
$handler->attachEventHandler('onClose', function ($connection) { /* gone */ });
$handler->attachEventHandler('onError', function ($connection, $error) { /* protocol error */ });
$server = TWebSocketServer::bind('tcp://0.0.0.0:8080');
$server->setHandler($handler); //
use Prado\IO\Socket\TSocketStream;
use Prado\IO\Socket\WebSocket\TWebSocketConnection;
$socket = TSocketStream::connect('tcp://example.com:8080', 5.0);
$client = TWebSocketConnection::connect($socket, 'example.com', '/chat'); // RFC 6455 handshake
$client->send('hello');
$reply = $client->receive(); // blocking; null on close/EOF
$client->close(1000);
use Prado\IO\Socket\WebSocket\TWebSocketFrame;
use Prado\IO\Socket\WebSocket\TWebSocketFrameCodec;
$bytes = TWebSocketFrameCodec::encode(TWebSocketFrame::text('hi')); // server frame (unmasked)
$frame = TWebSocketFrameCodec::tryDecode($buffer); // null until a whole frame
$server->setSubprotocols(['chat', 'superchat']); // offered in order; the agreed one is echoed in Sec-WebSocket-Protocol
// per connection: $connection->getSubprotocol() // the negotiated subprotocol, or null
use Prado\IO\Socket\WebSocket\TPermessageDeflateNegotiator;
$server->setExtensions([new TPermessageDeflateNegotiator()]); // offer RFC 7692 permessage-deflate
Loading please wait ...
Before you can download the PHP files, the dependencies should be resolved. This can take some minutes. Please be patient.