public function sendToRemoteServer(Session $session, Packet $packet) { $data = $packet->convertToArray(); $data[$this->serverKey] = $this->serverId; $packetStr = ConvertUtil::pack($data); $ret = SocketManager::getInstance()->sendClientMessage($session->getServerAddress(), $session->getServerPort(), pack('N', strlen($packetStr)) . $packetStr, $this->config); if (false === $ret) { Logger::addInfo('send remote server failed, dispatch again (fd:' . $session->getFd() . ') '); $session->setReachable(false); $this->dispatchSend($session, $packet); } }
protected function isConnectedToNoneServer(Session $session) { return !$session->getServerAddress() || !$session->getServerPort(); }