SocketClientService.php 2.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889
  1. <?php
  2. namespace App\Service;
  3. //use App\Cache\SocketFdBindUser;
  4. //use App\Cache\SocketUserBindFds;
  5. /**
  6. * Socket客户端ID服务
  7. *
  8. * @package App\Service
  9. */
  10. class SocketClientService
  11. {
  12. /**
  13. * 客户端fd与用户ID绑定关系
  14. *
  15. * @param int $fd 客户端fd
  16. * @param int $user_id 用户ID
  17. * @param string $run_id 服务运行ID(默认当前服务ID)
  18. */
  19. // public function bind(int $fd, int $user_id, $run_id = SERVER_RUN_ID)
  20. // {
  21. // SocketFdBindUser::getInstance()->bind($fd, $user_id, $run_id);
  22. // SocketUserBindFds::getInstance()->bind($fd, $user_id, $run_id);
  23. // }
  24. /**
  25. * 解除指定的客户端fd与用户绑定关系
  26. *
  27. * @param int $fd 客户端ID
  28. * @param string $run_id 服务运行ID(默认当前服务ID)
  29. */
  30. // public function unbind(int $fd, $run_id = SERVER_RUN_ID)
  31. // {
  32. // $user_id = $this->findFdUserId($fd);
  33. //
  34. // SocketFdBindUser::getInstance()->unBind($fd, $run_id);
  35. // SocketUserBindFds::getInstance()->unBind($fd, $user_id, $run_id);
  36. // }
  37. /**
  38. * 检测用户当前是否在线(指定运行服务器)
  39. *
  40. * @param int $user_id 用户ID
  41. * @param string $run_id 服务运行ID(默认当前服务ID)
  42. * @return bool
  43. */
  44. // public function isOnline(int $user_id, $run_id = SERVER_RUN_ID): bool
  45. // {
  46. // return SocketUserBindFds::getInstance()->isOnline($user_id, $run_id);
  47. // }
  48. /**
  49. * 检测用户当前是否在线(查询所有在线服务器)
  50. *
  51. * @param int $user_id 用户ID
  52. * @param array $run_ids 服务运行ID
  53. * @return bool
  54. */
  55. // public function isOnlineAll(int $user_id, array $run_ids = []): bool
  56. // {
  57. // return SocketUserBindFds::getInstance()->isOnlineAll($user_id, $run_ids);
  58. // }
  59. /**
  60. * 查询客户端fd对应的用户ID
  61. *
  62. * @param int $fd 客户端ID
  63. * @param string $run_id 服务运行ID(默认当前服务ID)
  64. * @return int
  65. */
  66. public function findFdUserId(int $fd, $run_id = SERVER_RUN_ID): int
  67. {
  68. // return SocketFdBindUser::getInstance()->findUserId($fd, $run_id);
  69. }
  70. /**
  71. * 查询用户的客户端fd集合(用户可能存在多端登录)
  72. *
  73. * @param int $user_id 用户ID
  74. * @param string $run_id 服务运行ID(默认当前服务ID)
  75. * @return array
  76. */
  77. // public function findUserFds(int $user_id, $run_id = SERVER_RUN_ID): array
  78. // {
  79. // return SocketUserBindFds::getInstance()->findFds($user_id, $run_id);
  80. // }
  81. }