예제 #1
0
 public function main()
 {
     Debug::info("Start Reload server...\n");
     //        common\connection::sendToChannel(1, 'server reloading...');
     common\connection::reloadServ();
     common\connection::sendOne($this->fd, 'RELOADSERVER', 'server reload over.');
 }
예제 #2
0
 public function main()
 {
     //        $this->params = array(
     //            'a' => "user\\login",
     //            'p' => array(
     //                'uid' => 1,
     //                'params' => array(),
     //            ),
     //        );
     if (!$this->uid) {
         throw new common\error('错误的用户登陆');
     }
     $uInfo = $this->userModel->getUserById($this->uid);
     if (!$uInfo) {
         $initUserConfig = ZConfig::getField('init', 'user');
         $d = array('id' => $this->uid, 'coin' => $initUserConfig['coin'], 'created' => time());
         $this->userModel->addUser($d);
     }
     $uConnectInfo = $this->connection->get($this->uid);
     if (!$uConnectInfo) {
         $this->connection->add($this->uid, $this->fd);
         $this->connection->addFd($this->fd, $this->uid);
     } else {
         common\connection::close($uConnectInfo['fd']);
         $this->connection->add($this->uid, $this->fd);
         $this->connection->addFd($this->fd, $this->uid);
     }
     //        common\connection::sendOne($this->fd,'login', 'test send one');
     //        common\connection::sendToChannel('login', 'test send all');
     $this->data = array('global' => array('serverTime' => time(), 'nextRoundTime' => common\game::getNextRunTime(), 'currentRound' => common\game::getRuncount()), 'positionList' => common\game::getPositionList(), 'user' => $uInfo ? $uInfo : $d, 'map' => ZConfig::get('map'), 'item' => ZConfig::get('item'));
 }
예제 #3
0
 public function checkLogin()
 {
     if (!$this->uid) {
         throw new common\error('错误的用户id');
     }
     $uid = common\connection::getConnection()->getUid($this->fd);
     if (empty($uid)) {
         throw new common\error('非法请求.');
     }
 }
예제 #4
0
 public function main()
 {
     echo "Shutdown server...\n";
     common\connection::sendToChannel(1, 'server shutdowning...');
     common\connection::shutdownServ();
 }
예제 #5
0
 public function main()
 {
     //---------------------------------------------------
     echo "Debug test:\n";
     Debug::log("debug log\n");
     Debug::info("debug info\n");
     Debug::debug("debug debug\n");
     Debug::error("debug error\n");
     Debug::error('debug error', 'aa', 'bb', 'cc');
     //pdo.php ping() 就是在执行sql的时候,失败的话,检查一下状态码。进行重连
     //---------------------------------------------------
     echo "\n\nDB option:\n";
     $user = $this->testModel->getAll();
     echo "get userMode one record.\n";
     print_r($user[0]);
     //---------------------------------------------------
     //fd opt
     echo "\n\nfd and connection option:\n";
     $uid = 10000;
     $uinfo = $this->connection->get($uid);
     if ($uinfo) {
         echo "already exist user.\n";
         print_r($uinfo);
     } else {
         echo "new add user.\n";
         $this->connection->add($uid, $this->fd);
         $this->connection->addFd($this->fd, $uid);
         print_r($this->connection->get($uid));
     }
     common\connection::sendOne($this->fd, 1, 'test send me');
     echo "send me sucess.\n";
     common\connection::sendToChannel(1, 'test send all');
     echo "send all sucess.\n";
     //加入到room1
     $this->connection->addChannel($uid, 'ROOM1');
     common\connection::sendToChannel(1, 'test send ROOM1', 'ROOM1');
     echo "send all room1.\n";
     //---------------------------------------------------
     echo "\n\ncache option:\n";
     $userinfo = array('id' => $uid, 'name' => 'ansen', 'sex' => 2);
     $this->cache->set('c_uid_' . $uid, json_encode($userinfo));
     echo "cache set userinfo sucess.\n";
     echo "get cache userinfo.\n";
     print_r(json_decode($this->cache->get('c_uid_' . $uid), true));
     //---------------------------------------------------
     echo "\n\nrank option:\n";
     $this->rankCache->addRank($rankType = 'global', $key = 'global_u1', $score = 1000, $length = 5);
     $this->rankCache->addRank($rankType = 'global', $key = 'global_u2', $score = 2000, $length = 5);
     $this->rankCache->addRank($rankType = 'global', $key = 'global_u3', $score = 500, $length = 5);
     $this->rankCache->addRank($rankType = 'global', $key = 'global_u4', $score = 100, $length = 5);
     $this->rankCache->addRank($rankType = 'global', $key = 'global_u5', $score = 6000, $length = 5);
     echo "add rank u1 u2 u3 u4 u5 over.\n";
     echo "get rank1:\n";
     $list1 = $this->rankCache->getRank($rankType = 'global', $start = 0, $limit = 100, $score = true, $desc = 0);
     print_r($list1);
     echo "get rank by score:\n";
     $list2 = $this->rankCache->getRankByScore($rankType = 'global', $start = 200, $end = 2000, $scores = true, $offset = 0, $count = 0);
     print_r($list2);
     echo "get rank by key(global_u3): 第";
     //排名第几
     echo $this->rankCache->getRankByKey($rankType = 'global', $key = 'global_u3', $desc = 0) . "位\n\n\n";
     //---------------------------------------------------
     echo "\n\ncd option:\n";
     $this->cdModel->addCd(10000, 'ansen');
     $this->cdModel->updCd(10000, 'ansen', array('cdCount' => 1, 'cdTimeStamp' => 234234));
     $cd = $this->cdModel->getCd(10000, 'ansen');
     print_r($cd);
     echo "get user keep login days:";
     echo $this->cdModel->getKeepLoginDays(10000);
     echo " days\n";
     //---------------------------------------------------
     //        echo "\n\nreids store struct option:\n";
     //        $username = '******';
     //        $password = '******';
     //
     //        $userid = $this->cache->increment("global:nextUserId");
     //        $this->cache->set("username:$username:id", $userid);
     //        $this->cache->set("uid:$userid:username", $username);
     //        $this->cache->set("uid:$userid:password", $password);
     //        //设置此用户密钥
     //        $authcookie = md5(time());
     //        $this->cache->set("uid:$userid:auth", md5(time()));
     //        $this->cache->set("auth:$authcookie", $userid);
     return 'finish action.';
 }
예제 #6
0
 public function onWorkerStart()
 {
     //swoole_set_process_name("ansen: work process"); //worker进程名称
     $params = func_get_args();
     $serv = $params[0];
     $worker_id = $params[1];
     //new version support
     if ($worker_id >= $serv->setting['worker_num']) {
         swoole_set_process_name("ansen: task process");
         //task name
         Debug::debug("TaskerStart[{$worker_id}]|pid=" . posix_getpid() . ".\n");
     } else {
         swoole_set_process_name("ansen: work process");
         //worker name
         Debug::debug("WorkerStart[{$worker_id}]|pid=" . posix_getpid() . ".\n");
     }
     common\connection::setServer($serv);
     //把serv加入到connection中
 }
예제 #7
0
 public static function sendCurrentAnte()
 {
     $list = self::getAnteList();
     if (empty($list)) {
         return;
     }
     $sendData = array('bar' => 0, 'seven' => 0, 'star' => 0, 'watermelon' => 0, 'ring' => 0, 'mango' => 0, 'orange' => 0, 'apple' => 0);
     foreach ($list as $item) {
         $sendData['bar'] += $item['bar'];
         $sendData['seven'] += $item['seven'];
         $sendData['star'] += $item['star'];
         $sendData['watermelon'] += $item['watermelon'];
         $sendData['ring'] += $item['ring'];
         $sendData['mango'] += $item['mango'];
         $sendData['orange'] += $item['orange'];
         $sendData['apple'] += $item['apple'];
     }
     common\connection::sendToChannel(self::$CMDsendCurrentAnteList, $sendData);
 }