Пример #1
0
 public function onReceive(\swoole_server $server, $fd, $from_id, $data)
 {
     //packet decode
     $requestObj = \DoraDRPC\Base\Packet::packDecode($data);
     #decode error
     if ($requestObj["code"] != 0) {
         $requestString = \DoraDRPC\Base\Packet::packEncode($requestObj);
         $server->send($fd, $requestString);
         return true;
     }
     //call back to process
     return $this->callbackRecive($server, $fd, $from_id, $requestObj["data"]);
 }
Пример #2
0
 private function doRequest($sendData, $ip = "", $port = "")
 {
     //get client obj
     try {
         $client = $this->getClientObj($ip, $port);
     } catch (\Exception $e) {
         return \DoraDRPC\Base\Packet::packFormat($e->getMessage(), $e->getCode());
     }
     $ret = $client->send($sendData);
     //ok fail
     if (!$ret) {
         $errorcode = $client->errCode;
         //destroy error client obj to make reconncet
         unset(self::$client[$this->currentClientKey]);
         if ($errorcode == 0) {
             $msg = "connect fail.check host dns.";
             $errorcode = -1;
             $Packet = \DoraDRPC\Base\Packet::packFormat($msg, $errorcode);
         } else {
             $msg = socket_strerror($errorcode);
             $Packet = \DoraDRPC\Base\Packet::packFormat($msg, $errorcode);
         }
         return $Packet;
     }
     //recive the response
     $result = $client->recv();
     //recive error check
     if ($result !== false) {
         return \DoraDRPC\Base\Packet::packDecode($result);
     } else {
         return \DoraDRPC\Base\Packet::packFormat("the recive wrong or timeout", 100009);
     }
 }
Пример #3
0
 public function onPacket(\swoole_server $server, $data, $client_info)
 {
     $data = \DoraDRPC\Base\Packet::packDecode($data);
     //$server->sendto($client_info['address'], $client_info['port'], \DoraDRPC\Base\Packet::packEncode(array()));
     //var_dump($server, $data);
 }