server.php 1.0KB

1234567891011121314151617181920212223242526272829303132333435363738394041
  1. <?php
  2. require_once __DIR__ . '/vendor/autoload.php';
  3. try {
  4. echo '> Starting server on ws://103.157.96.20:5544 ...', "\n";
  5. $websocket = new Hoa\Websocket\Server(
  6. new Hoa\Socket\Server('ws://103.157.96.20:5544')
  7. );
  8. $websocket->on('open', function (Hoa\Event\Bucket$bucket) {
  9. echo '> Connected', "\n";
  10. return;
  11. });
  12. $websocket->on('message', function (Hoa\Event\Bucket$bucket) {
  13. $data = $bucket->getData();
  14. echo '> Received request ', $data['message'], "\n";
  15. $bucket->getSource()->send($data['message']);
  16. $bucket->getSource()->broadcast($data['message']);
  17. return;
  18. });
  19. $websocket->on('close', function (Hoa\Event\Bucket$bucket) {
  20. echo '> Disconnected', "\n";
  21. return;
  22. });
  23. try {
  24. echo '> Server started', "\n";
  25. $websocket->run();
  26. } catch (Exception $e) {
  27. echo '> Error occurred, server stopped. ', $e->getMessage(), "\n";
  28. }
  29. } catch (Exception $e) {
  30. echo '> Error: ', $e->getMessage(), "\n";
  31. }