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"]); }
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); } }
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); }