private function _gen_error_ack() { $ack = new BStompErrorFrame(); $ack->error_no = 10; $ack->error_message = 'unit test'; $ack->store(); return $ack->buffer(); }
/** * 接收一条cmd * return cmd buffer on success or null on failure */ public function receive() { $res_body = $this->_connection->receive(); if (null != $res_body) { // 看看是否为标准错误包 $cmd_type = BigpipeFrame::get_command_type($res_body); if (BStompFrameType::ERROR == $cmd_type) { $recv_cmd = new BStompErrorFrame(); if ($recv_cmd->load($res_body)) { BigpipeLog::warning("[receive error ack frame][%s][error_code:%d]", $recv_cmd->error_message, $recv_cmd->error_no); } return null; } // end of 解析error frame } return $res_body; }