一对一消息

文档里都是以发普通的文字消息为例,若有其他需求,将文字换成自己定义的JSON即可。

比如发图片,您可以上传到自己服务器或使用第3方图片存储(如七牛云,阿里云OSS等)将图片上传后,发送url即可。

3.1 接收一对一消息

创建CChatManager对象,传入用户配置信息和回调指针

示例:

对象所属类需要实现IStarIMC2CListener接口接收消息回调
m_pChatManager = new CChatManager(pUserManager, this);

3.2 发送一对一消息

消息分“普通消息(sendMessage)”和“在线消息(sendOnLineMessage)”。

“普通消息”是指正常的聊天消息,用户不在线时会缓存,再次上线时会取走所有的离线消息。

“在线消息”只有对方在线才能收到,消息不会缓存。

示例:

bool CChatManager::sendOnlineMessage(char* toUserId, char* msgStr)
{
CIMMessage* pIMMessage = StarIMMessageBuilder::getC2CMessage(m_pStarRtcCore->m_pUserManager->m_ServiceParam.m_strUserId, toUserId, msgStr);
if (pIMMessage != NULL)
{
addMessageToMap(pIMMessage);
m_pStarRtcCore->sendOnlineMessage(pIMMessage);
}
return true;
}

bool CChatManager::sendVoipOnlineMessage(char* fromId, char* targetId, int code, char* data)
{
CIMMessage* pIMMessage = StarIMMessageBuilder::getVoipMessage(fromId, targetId, code, data);
if (pIMMessage != NULL)
{
m_pStarRtcCore->sendOnlineMessage(pIMMessage);
}
return true;
}