微信图片_20190926112604.png (38.6 KB, 下载次数: 2781)
下载附件 保存到相册
5 年前 上传
来源:即时通讯网 - 即时通讯开发者社区!
轻量级开源移动端即时通讯框架。
快速入门 / 性能 / 指南 / 提问
轻量级Web端即时通讯框架。
详细介绍 / 精编源码 / 手册教程
移动端实时音视频框架。
详细介绍 / 性能测试 / 安装体验
基于MobileIMSDK的移动IM系统。
详细介绍 / 产品截图 / 安装体验
一套产品级Web端IM系统。
详细介绍 / 产品截图 / 演示视频
引用此评论
引用:JackJiang 发表于 2019-09-26 12:28 一句话描述一下:你这是打算为用户实现什么功能?
引用:cotide 发表于 2019-09-26 12:36 我想用于标识消息已经发送出去并对方成功接收(消息已被客户端B接收)。 ## 场景 1. 客户端A发出消息 ...
引用:JackJiang 发表于 2019-09-26 14:31 这个在MobileIMSDK是现成的,已经实现了完整的逻辑。 对于A端来说,收到了B端对于这条消息的ACK应答, ...
引用:cotide 发表于 2019-09-26 14:42 客户端(A)通过http发送消息让服务端去进行消息转发给客户端(B),如果这种情况MessageQoSEvent 应该是在 ...
引用:JackJiang 发表于 2019-09-26 15:15 你客户端A是通过http发送给客户端B?这是怎么玩出来的? 把客户A的发送代码、服务端的代发代码,贴出 ...
/** * 发送私聊消息 * @param message * @return */ public void send(PrivateMessage message, Callback callback) { // Api接口地址 String path = getApi(MODULE_PATH,"send"); // Data Map<String,Object> data = new HashMap<>(); data.put("targetId", message.getTargetId()); data.put("model",message.getModel()); data.put("content", message.getContent()); HttpUtils.sendPost( client.getApiHostType(), path, data, client.getAccessToken(), callback); }
@ApiImplicitParams(value = {@ApiImplicitParam( name = "access_token", required = true, dataType = "string", paramType = "query", value = "访问 Token")}) @RequestMapping(value = "send", method = RequestMethod.POST) public Map<String,String> send(@Valid @RequestBody SendPrivateMsgParm parm) throws Exception { for (String targetId : parm.getTargetId()) { // 消息ID String messageId = UUIDHelper.getMessageId(); result.put(targetId,messageId); if(messageTemp == MessageTemp.LongTextMessage){ // 长文本消息 (记录) CreateMsgCmd cmd = new CreateMsgCmd( messageId, currentUser().getUserId(), Integer.parseInt(targetId), ProtocalType.C.FROM_CLIENT_TYPE_OF_COMMON$DATA, MessageTypeu.Content, messageTemp, parm.getContent()); msgTask.create(cmd); parm.setContent("长文本消息"); } Body body = new Body( messageId, parm.getContent(), messageTemp); LocalSendHelper.sendData( String.valueOf(currentUser().getUserId()), targetId, body.toJsonString(), MessageTypeu.Content, (sucess, extraObj) -> { if(sucess) { } }); } }
引用:cotide 发表于 2019-09-26 15:24 客户端A是通过http发送给服务端,进行转发到客户端B。客户端B的ACK应答码应该是返回给服务端的吧? 所以 ...
WX20190926-165957@2x.png (38.27 KB, 下载次数: 2843)
引用:JackJiang 发表于 2019-09-26 17:02 如果你要在服务端知道,收服务端主动发起的消息有没有送达给对方,你可以看下官方Demo里服务端的这个实现 ...
引用:cotide 发表于 2019-09-26 17:26 我现在是用上面示例的代码,只有服务端触发MessageQoSEventListenerS2C的事件,而安卓端没触发。不知道能 ...
引用:JackJiang 发表于 2019-09-26 19:14 客户端A肯定再没法直接知道这条消息的发送状啊,因为长连接消息不是它发出的,要想让它知道,你服务端得 ...
引用:cotide 发表于 2019-09-26 21:32 1.其实客户端A登陆的时候,是将长连接信息放在服务端缓存。 2.客户端A发送报文信息给服务端,里面定 ...
精华主题数超过100个。
连续任职达2年以上的合格正式版主
为论区做出突出贡献的开发者、版主等。
Copyright © 2014-2024 即时通讯网 - 即时通讯开发者社区 / 版本 V4.4
苏州网际时代信息科技有限公司 (苏ICP备16005070号-1)
Processed in 0.109375 second(s), 38 queries , Gzip On.