Context.php 1.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172
  1. <?php
  2. namespace Lib;
  3. /**
  4. * 上下文 包含当前用户uid, 内部通信local_ip local_port socket_id ,以及客户端client_ip client_port
  5. * @author walkor
  6. */
  7. class Context
  8. {
  9. /**
  10. * 内部通讯id
  11. * @var string
  12. */
  13. public static $local_ip;
  14. /**
  15. * 内部通讯端口
  16. * @var int
  17. */
  18. public static $local_port;
  19. /**
  20. * 内部通讯socket_id
  21. * @var int
  22. */
  23. public static $socket_id;
  24. /**
  25. * 客户端ip
  26. * @var string
  27. */
  28. public static $client_ip;
  29. /**
  30. * 客户端端口
  31. * @var int
  32. */
  33. public static $client_port;
  34. /**
  35. * 用户id
  36. * @var int
  37. */
  38. public static $uid;
  39. /**
  40. * 编码session
  41. * @param mixed $session_data
  42. * @return string
  43. */
  44. public static function sessionEncode($session_data = '')
  45. {
  46. if($session_data !== '')
  47. {
  48. return json_encode($session_data);
  49. }
  50. return '';
  51. }
  52. /**
  53. * 解码session
  54. * @param string $session_buffer
  55. * @return mixed
  56. */
  57. public static function sessionDecode($session_buffer)
  58. {
  59. return json_decode($session_buffer, true);
  60. }
  61. /**
  62. * 清除上下文
  63. * @return void
  64. */
  65. public static function clear()
  66. {
  67. self::$local_ip = self::$local_port = self::$socket_id = self::$client_ip = self::$client_port = self::$uid = null;
  68. }
  69. }