void SessionLayout::SendMsg()
{
	MessageEntity msg;
	module::UserInfoEntity myInfo;
	module::getUserListModule()->getMyInfo(myInfo);
	UInt8 netState = module::getTcpClientModule()->getTcpClientNetState();
	if (module::TCPCLIENT_STATE_OK == netState 
		&& IM::BaseDefine::USER_STATUS_OFFLINE != myInfo.onlineState)
	{
		MixedMsg mixMsg;
		if (!m_pInputRichEdit->GetContent(mixMsg))
		{
			return;
		}
		_DafoNetWorkPicMsg(mixMsg);//大佛彩蛋
		//将消息投递给对方
		_SendSessionMsg(mixMsg);
		//本地消息展现
		msg.msgType = MSG_TYPE_TEXT_P2P;
		msg.talkerSid = module::getSysConfigModule()->userID();
		msg.sessionId = m_sId;
		msg.msgRenderType = MESSAGE_RENDERTYPE_TEXT;
		msg.msgStatusType = MESSAGE_TYPE_RUNTIME;
		std::string content = util::cStringToString(mixMsg.MakeMixedLocalMSG());
		msg.content = content;
		msg.msgTime = module::getSessionModule()->getTime();
		_DisplayMsgToIE(msg);
	}
	else
	{
		//发送消息太快
		_DisplaySysMsg(_T("STRID_SESSIONMODULE_OFFLINE_SENDMSG_TIP"));
	}
	
}
Exemplo n.º 2
0
void SessionLayout::_SendImage(CString& csFilePath)
{
	//构造纯图片消息
	ST_picData picData;
	picData.nPos = 0;
	picData.strLocalPicPath = csFilePath;
	MixedMsg mixMsg;
	mixMsg.m_picDataVec.push_back(picData);
	//发送图片
	_SendSessionMsg(mixMsg);

	//本地消息展现
	MessageEntity msg;
	msg.msgType = MSG_TYPE_TEXT_P2P;
	msg.talkerSid = module::getSysConfigModule()->userID();
	msg.sessionId = m_sId;
	msg.msgRenderType = MESSAGE_RENDERTYPE_TEXT;
	msg.msgStatusType = MESSAGE_TYPE_RUNTIME;
	msg.content = util::cStringToString(mixMsg.MakeMixedLocalMSG());
	msg.msgTime = module::getSessionModule()->getTime();
	_DisplayMsgToIE(msg);
}