Event.php 1.2 KB

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