clientws1.php 1.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465
  1. <?php
  2. /**
  3. * Created by PhpStorm.
  4. * User: Administrator
  5. * Date: 2019/5/23
  6. * Time: 17:42
  7. */
  8. define('START_TIME', microtime(true));
  9. require __DIR__ . '/../vendor/autoload.php';
  10. \app\lib\boot::init();
  11. use app\lib\wclient\WebSocketClient ;
  12. $client = new WebSocketClient();
  13. $timerId = 0 ;
  14. $client->on("open",function ($client) use ($timerId) {
  15. $fd = $client->getTcpClient()->sock;
  16. echo "fd: $fd is open\n";
  17. $msg = '{"cmd":"test","act":"broad","data":"你好,朋友们!","time":1558492565,"token":"aasasfa"}';
  18. $timerId = Swoole\Timer::tick(3000,function()use($msg,$client){
  19. $ret = $client->send($msg);
  20. if (!$ret){
  21. $client->close();
  22. }
  23. });
  24. setTimeid($timerId);
  25. });
  26. $client->on("message", function ($client, $frame) {
  27. $fd = $client->getTcpClient()->sock;
  28. echo "fd: $fd received: {$frame->data}\n";
  29. });
  30. $client->on("close", function ($client)use ($timerId) {
  31. if (getTimeid()){
  32. Swoole\Timer::clear(getTimeid());
  33. }
  34. $fd = $client->getTcpClient()->sock;
  35. echo "fd: $fd is closed\n";
  36. });
  37. function setTimeid($id){
  38. global $timerId ;
  39. $timerId = $id ;
  40. }
  41. function getTimeid(){
  42. global $timerId ;
  43. return $timerId ;
  44. }
  45. $url = "?token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJib3JuIiwiaWF0IjoxNTU5MDI3Mzk1LCJleHAiOjE1NTkwMzQ1OTUsIm5iZiI6MTU1OTAyNzQ1NSwic3ViIjoxMCwianRpIjoiOGVlODI5Y2QtNjM3Mi1iNjUyLTYxYWItMWY3YWViYTNhODM0In0.eLuHFc5uhTAc87DVCAnTKzRloZS0n79jYWTYE9ea7E0";
  46. $client->connect("192.168.2.200", 9090, $url , 0.5 , true);