GatewayworkerTools.php 2.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081
  1. <?php
  2. namespace app\common\library;
  3. use \GatewayClient\Gateway;
  4. /**
  5. * gateway绑定接口
  6. */
  7. class GatewayworkerTools
  8. {
  9. /**
  10. * 房间中全民抢礼物,全服通告
  11. */
  12. public static function sendGrabgift($type,$data)
  13. {
  14. $messageData = [
  15. 'type' => $type,
  16. 'data' => $data
  17. ];
  18. $Gateway = new Gateway();
  19. $Gateway::$registerAddress = '127.0.0.1:2345';
  20. $Gateway::sendToAll(json_encode($messageData));
  21. }
  22. /**
  23. * 直播间中发送礼物,本房间飘屏
  24. * kge没用到
  25. */
  26. public static function sendGiftInParty($sender, $receiver, $partyInfo, $giftUserParty)
  27. {
  28. $aData = [
  29. 'code' => 'party',
  30. 'data' => [
  31. 'cmd' => 'send_gift_in_party',
  32. 'content' => [
  33. 'party_info' => [
  34. 'party_id' => $partyInfo['id'],
  35. 'room_type' => $partyInfo['room_type'],
  36. 'party_name' => $partyInfo['party_name']
  37. ],
  38. 'notice_info' => [
  39. 'sender' => $sender,
  40. 'receiver' => $receiver,
  41. 'gift_num' => $giftUserParty['number'],
  42. 'gift_name' => $giftUserParty['gift_name'],
  43. 'gift_image' => $giftUserParty['gift_gif_image']
  44. ]
  45. ]
  46. ]
  47. ];
  48. Gateway::sendToGroup($partyInfo['id'],json_encode($aData));
  49. }
  50. // 注意除了不支持sendToCurrentClient和closeCurrentClient方法
  51. // Gateway::sendToAll($data);
  52. // Gateway::sendToClient($client_id, $data);
  53. // Gateway::closeClient($client_id);
  54. // Gateway::isOnline($client_id);
  55. // Gateway::bindUid($client_id, $uid);
  56. // Gateway::isUidOnline($uid);
  57. // Gateway::getClientIdByUid($uid);
  58. // Gateway::unbindUid($client_id, $uid);
  59. // Gateway::sendToUid($uid, $data);
  60. // Gateway::joinGroup($client_id, $group);
  61. // Gateway::sendToGroup($group, $data);
  62. // Gateway::leaveGroup($client_id, $group);
  63. // Gateway::getClientCountByGroup($group);
  64. // Gateway::getClientSessionsByGroup($group);
  65. // Gateway::getAllClientCount();
  66. // Gateway::getAllClientSessions();
  67. // Gateway::setSession($client_id, $session);
  68. // Gateway::updateSession($client_id, $session);
  69. // Gateway::getSession($client_id);
  70. }