コード例 #1
0
// 登录失败处理
int CLoginHandler::LoginFailed(const TNetHead_V2& rstNetHead)
{ 
	unsigned int uiResultID = CHandlerHelper::GetErrorCode();
	SendFailedResponse(uiResultID, rstNetHead);

    return 0;
}
コード例 #2
0
ファイル: RpcHandler.cpp プロジェクト: ASchurman/Dissent
  void RpcHandler::HandleRequest(const Request &request)
  {
    int id = request.GetId();
    if(id <= 0) {
      qWarning() << "RpcHandler: Request: Invalid ID, from: " <<
        request.GetFrom()->ToString();
      return;
    }

    QString method = request.GetMethod();
    QSharedPointer<RequestHandler> cb = _callbacks[method];
    if(cb.isNull()) {
      qDebug() << "RpcHandler: Request: No such method: " << method <<
        ", from: " << request.GetFrom()->ToString();
      SendFailedResponse(request, Response::InvalidMethod,
          QString("No such method: " + method));
      return;
    }

    qDebug() << "RpcHandler: Request " << request.GetId()  << "Method:" <<
      method << ", from:" << request.GetFrom()->ToString();
    cb->MakeRequest(request);
#ifdef RESPOND_NOTIFICATION
    if(request.GetType() == Request::NotificationType) {
      request.Respond(Request::NotificationType);
    }
#endif
  }
コード例 #3
0
int CChatHandler::OnRequestChat()
{
    int iRet = SecurityCheck();
    if(iRet < 0)
    {
        LOGERROR("Security Check Failed: Uin = %u, iRet = %d\n", m_pRequestMsg->m_stmsghead().m_uin(), iRet);
        
        SendFailedResponse(MSGID_ZONE_CHAT_RESPONSE, T_ZONE_SECURITY_CHECK_FAILED, *m_pNetHead);

        return -1;
    }

    unsigned int uiUin = m_pRoleObj->GetUin();
    CGameRoleObj* pstRoleObj = GameTypeK32<CGameRoleObj>::GetByKey(uiUin);
    ASSERT_AND_LOG_RTN_INT(pstRoleObj);

    //玩家聊天操作的处理
    const Zone_Chat_Request& rstRequest = m_pRequestMsg->m_stmsgbody().m_stzone_chat_request();
    CChatUtility::SendChatMsg(*pstRoleObj, rstRequest.ichannel(), rstRequest.strmessage().c_str());

    //处理聊天消息成功,返回
    SendSuccessfulResponse();

    return T_SERVER_SUCESS;
}