System.php 1.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869
  1. <?php
  2. /**
  3. *
  4. *
  5. * @author walkor <worker-man@qq.com>
  6. *
  7. */
  8. require_once WORKERMAN_ROOT_DIR . 'Protocols/Buffer.php';
  9. class System
  10. {
  11. public static function onConnection($address, $socket_id, $sid)
  12. {
  13. // 检查sid是否合法
  14. $uid = self::getUidBySid();
  15. // 不合法踢掉
  16. if(!$uid)
  17. {
  18. self::kickAddress($address, $socket_id);
  19. return;
  20. }
  21. // 合法记录uid到address的映射
  22. self::storeUidAddress($uid, $address);
  23. // 发送数据包到address,确认connection成功
  24. self::notifyConnectionSuccess($address, $socket_id, $uid);
  25. }
  26. public static function onClose($uid)
  27. {
  28. }
  29. public static function kickUid($uid)
  30. {
  31. }
  32. public static function kickAddress($address, $socket_id)
  33. {
  34. }
  35. public static function storeUidAddress($uid, $address)
  36. {
  37. Store::set($uid, $address);
  38. }
  39. public static function getAddressByUid($uid)
  40. {
  41. return Store::get($uid);
  42. }
  43. public static function deleteUidAddress($uid)
  44. {
  45. return Store::delete($uid);
  46. }
  47. protected static function notifyConnectionSuccess($address, $socket_id, $uid)
  48. {
  49. }
  50. protected static function getUidBySid($sid)
  51. {
  52. return $sid;
  53. }
  54. }