IM::Login::IMLoginRes* TcpClientModule_Impl::doLogin(CString &linkaddr, UInt16 port ,CString& uName,std::string& pass) { m_socketHandle = imcore::IMLibCoreConnect(util::cStringToString(linkaddr), port); imcore::IMLibCoreRegisterCallback(m_socketHandle, this); if(util::waitSingleObject(m_eventConnected, 5000)) { IM::Login::IMLoginReq imLoginReq; string& name = util::cStringToString(uName); imLoginReq.set_user_name(name); imLoginReq.set_password(pass); imLoginReq.set_online_status(IM::BaseDefine::USER_STATUS_ONLINE); imLoginReq.set_client_type(IM::BaseDefine::CLIENT_TYPE_WINDOWS); imLoginReq.set_client_version("win_10086"); if (TCPCLIENT_STATE_OK != m_tcpClientState) return 0; sendPacket(IM::BaseDefine::SID_LOGIN, IM::BaseDefine::CID_LOGIN_REQ_USERLOGIN, ++g_seqNum , &imLoginReq); m_pImLoginResp->Clear(); util::waitSingleObject(m_eventReceived, 10000); } return m_pImLoginResp; }
CImPdu login(const string &strName, const string &strPass) { CImPdu cPdu; IM::Login::IMLoginReq msg; msg.set_user_name(strName); msg.set_password(strPass); msg.set_online_status(IM::BaseDefine::USER_STATUS_ONLINE); msg.set_client_type(IM::BaseDefine::CLIENT_TYPE_WINDOWS); msg.set_client_version("1.0"); cPdu.SetPBMsg(&msg); cPdu.SetServiceId(IM::BaseDefine::SID_LOGIN); cPdu.SetCommandId(IM::BaseDefine::CID_LOGIN_REQ_USERLOGIN); cPdu.SetSeqNum(1); return cPdu; }
uint32_t ClientConn::login(const string &strName, const string &strPass) { CImPdu cPdu; IM::Login::IMLoginReq msg; msg.set_user_name(strName); msg.set_password(strPass); msg.set_online_status(IM::BaseDefine::USER_STATUS_ONLINE); msg.set_client_type(IM::BaseDefine::CLIENT_TYPE_WINDOWS); msg.set_client_version("1.0"); cPdu.SetPBMsg(&msg); cPdu.SetServiceId(IM::BaseDefine::SID_LOGIN); cPdu.SetCommandId(IM::BaseDefine::CID_LOGIN_REQ_USERLOGIN); uint32_t nSeqNo = m_pSeqAlloctor->getSeq(ALLOCTOR_PACKET); cPdu.SetSeqNum(nSeqNo); SendPdu(&cPdu); return nSeqNo; }