Client • Server • Message • Examples • Changelog • Contributing
Here are some examples on how to use the WebSocket library.
In dev environment (as in having run composer to include dev dependencies) you have access to a simple echo logger that print out information synchronously.
This is usable for debugging. For production, use a proper logger.
namespace WebSocket;
$logger = new EchoLogger();
$client = new Client('ws://echo.websocket.org/');
$client->setLogger($logger);
$server = new Server();
$server->setLogger($logger);
An example of server output;
info | Server listening to port 8000 []
debug | Wrote 129 of 129 bytes. []
info | Server connected to port 8000 []
info | Received 'text' message []
debug | Wrote 9 of 9 bytes. []
info | Sent 'text' message []
debug | Received 'close', status: 1000. []
debug | Wrote 32 of 32 bytes. []
info | Sent 'close' message []
info | Received 'close' message []
Source: examples/send.php
A simple, single send/receive client.
Example use:
php examples/send.php --opcode text "A text message" // Send a text message to localhost
php examples/send.php --opcode ping "ping it" // Send a ping message to localhost
php examples/send.php --uri ws://echo.websocket.org "A text message" // Send a text message to echo.websocket.org
php examples/send.php --opcode text --debug "A text message" // Use runtime debugging
Source: examples/echoserver.php
A simple server that responds to recevied commands.
Example use:
php examples/echoserver.php // Run with default settings
php examples/echoserver.php --port 8080 // Listen on port 8080
php examples/echoserver.php --debug // Use runtime debugging
These strings can be sent as message to trigger server to perform actions;
auth
- Server will respond with auth header if provided by clientclose
- Server will close current connectionexit
- Server will close all active connectionsheaders
- Server will respond with all headers provided by clientping
- Server will send a ping messagepong
- Server will send a pong messagestop
- Server will stop listening- For other sent strings, server will respond with the same strings
Source: examples/random_client.php
The random client will use random options and continuously send/receive random messages.
Example use:
php examples/random_client.php --uri ws://echo.websocket.org // Connect to echo.websocket.org
php examples/random_client.php --timeout 5 --fragment_size 16 // Specify settings
php examples/random_client.php --debug // Use runtime debugging
Source: examples/random_server.php
The random server will use random options and continuously send/receive random messages.
Example use:
php examples/random_server.php --port 8080 // // Listen on port 8080
php examples/random_server.php --timeout 5 --fragment_size 16 // Specify settings
php examples/random_server.php --debug // Use runtime debugging