server.php 1.3KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950
  1. <?php
  2. require_once __DIR__ . '/vendor/autoload.php';
  3. require_once __DIR__ . '/ThermalPrinting.php';
  4. try {
  5. echo '> Starting server on ws://127.0.0.1:5544 ...', "\n";
  6. $websocket = new Hoa\Websocket\Server(
  7. new Hoa\Socket\Server('ws://127.0.0.1:5544')
  8. );
  9. $websocket->on('open', function (Hoa\Event\Bucket $bucket) {
  10. echo '> Connected', "\n";
  11. return;
  12. });
  13. $websocket->on('message', function (Hoa\Event\Bucket $bucket) {
  14. $data = $bucket->getData();
  15. $rdata = json_decode($data['message']);
  16. echo '> Received request ', $data['message'], "\n";
  17. $thermalPrinting = new ThermalPrinting($rdata);
  18. $thermalPrinting->startPrinting(2);
  19. // if ($rdata['type'] == 'print-receipt') {
  20. // echo '> Printing receipt... ', $rdata['data'], "\n";
  21. // }
  22. echo '> Done print task ', "\n";
  23. return;
  24. });
  25. $websocket->on('close', function (Hoa\Event\Bucket $bucket) {
  26. echo '> Disconnected', "\n";
  27. return;
  28. });
  29. try {
  30. echo '> Server started', "\n";
  31. $websocket->run();
  32. } catch (Exception $e) {
  33. echo '> Error occurred, server stopped. ', $e->getMessage(), "\n";
  34. }
  35. } catch (Exception $e) {
  36. echo '> Error: ', $e->getMessage(), "\n";
  37. }