服务端发送消息给用户

问题描述

SendMessageAPI message = (SendMessageAPI)factory.newInstance(EasemobRestAPIFactory.SEND_MESSAGE_CLASS);Map<String, String> ext = new HashMap<String,String>(); Map<String, Object> msg = new HashMap<String,Object>(); ext.put("time", "0000xxxxx0000xxxx");msg.put("type", "text");msg.put("msg", "hello 环信");TextMessageBody tmb = new TextMessageBody("users", new String[]{"123456789"}, "admin", ext, JSON.toJSONString(msg));ResponseWrapper rw = (ResponseWrapper)message.sendMessage(tmb); System.out.println(rw.getResponseStatus()); 环信返回Response Body: {"action":"post","application":"7f791f50-e9a8-11e5-bda4-7b1406037610","uri":"https://a1.easemob.com/91430103096041818g/upark","entities":[],"data":{"123456789":"success"},"timestamp":1459318880085,"duration":1,"organization":"91430103096041818g","applicationName":"upark"}  1.环信配置正确,用下面的接口可以创建用户 BodyWrapper userBody = new IMUserBody("xxxxxxxx","111111","Coca-Cola"); 2: 消息发送后 用户123456789应该可以收到,但是收不到。如果  123456789 不存在于app下面那么还是会收到发送成功的消息。

解决方案

TextMessageBody tmb = new TextMessageBody("users", new String[]{"123456789"}, "admin", new HashMap<String, String>(), JSON.toJSONString(msg)); 刚看了论坛,已经排除扩展消息问题。还是收不到
解决方案二:
TextMessageBody tmb = new TextMessageBody("users", new String[]{"uparkadmin"}, "admin",null, JSON.toJSONString(msg));这种方式也不行 估计不是扩展消息的问题
解决方案三:
官方的demo有点问题,你需要稍微改动一下,public class TextMessageBody extends MessageBody {private String msg;public TextMessageBody(String targetType, String[] targets, String from, Map<String, String> ext, String msg) {super(targetType, targets, from, ext);this.msg = msg;}public String getMsg() {return msg;} public ContainerNode<?> getBody() { if(!isInit()){ //这里有改动! ObjectNode objectNode = this.getMsgBody().putObject("msg");objectNode.put("type",MsgType.TEXT);objectNode.put("msg",msg);this.setInit(true); } return this.getMsgBody(); } public Boolean validate() {return super.validate() && StringUtils.isNotBlank(msg);}}​还有你要重新换一个账号去测试,用官方的demo发送后就收不到正确的了!
解决方案四:
更换一个账号测试?我用的就是admin发送消息,环信后台应该是admin(我猜测)应为没有用户登录。换用户的话那怎么操作? 用你的代码拼装参数回事错误的Body:{"target_type":"users","target":["uparkadmin"],"from":"admin","msg":{"type":"txt","msg":"{"type":"text","msg":"baidu"}"}}

时间: 2024-12-30 13:55:34

服务端发送消息给用户的相关文章

Socket向服务端发送消息工具类

package com.yanek.util.socket; import java.io.BufferedReader;import java.io.BufferedWriter;import java.io.ByteArrayOutputStream;import java.io.DataInputStream;import java.io.IOException;import java.io.InputStreamReader;import java.io.OutputStreamWrit

服务端群发消息,app里没有聊天记录,会话列表也收不到 已发的联系人消息

问题描述 问题情况:1. 用户关系: 会员 和 商家(只能后台web端聊天),陌生人关系,会员在app端和商家在后台web端聊天2. 单聊都么问题.就是我们会员在app提交群发消息给服务端后,服务端发到环信,后台web端能显示我们提交的消息.那说明我们的服务端发送应该是可以的,但是就是app端不能收到环信的消息,比如IOS有写EMChatManagerDelegate协议,[[EMClient sharedClient].chatManager addDelegate:self delegate

socket-WebSocket服务端发消息给客户端,浏览器收到消息就关闭了

问题描述 WebSocket服务端发消息给客户端,浏览器收到消息就关闭了 自己按照 Websocket 的 文档写的, 浏览器每次连接上, 一收到消息就断开了 报错:WebSocket connection to 'ws://192.168.1.248:2051/' failed: A server must not mask any frames that it sends to the client. 但是 内容根本就没有mask 然后连网上别的websocket服务器,连上发消息正常, 然

net-使用微信客服接口发送消息部分用户接收不到是什么原因

问题描述 使用微信客服接口发送消息部分用户接收不到是什么原因 使用微信客服接口发送消息部分用户接收不到是什么原因(在一定的时间段内出现部分用户接收不到信息,现象就是刚上线那会晚上转播还很多人都能收到,变成偶尔一两个人收不到,再变成大面积收不到,最后基本都收不到) 解决方案 微信服务号和订阅号发送客服信息,需要在你发送消息之前48小时内,客户发送了一个消息给公众号,可以是关注事件消息等.企业号好像没有限制,说是企业号发送消息没有限制. 解决方案二: 返回码是什么?自己对应微信开发者文档,找错误 解

jQuery通过Ajax向PHP服务端发送请求并返回JSON数据_AJAX相关

JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式.易于人阅读和编写,同时也易于机器解析和生成.JSON在前后台交互的过程中发挥着相当出色的作用. 服务端PHP读取MYSQL数据,并转换成JSON数据,传递给前端Javascript,并操作JSON数据.本文将通过实例演示了jQuery通过Ajax向PHP服务端发送请求并返回JSON数据.阅读本文的读者应该具备jQuery.Ajax.PHP相关知识,并能熟练运用. XHTML <ul id="use

请问一个CXF客户端怎样给多个多套SERVER端发送消息

问题描述 如题,请问一个CXF客户端怎样给多个server端发送消息,server部署在不同的机器上? 解决方案 你应该在服务端设置统一的访问接口.服务器负载均衡,对外只提供一个统一的接口.

jQuery通过Ajax向PHP服务端发送请求并返回JSON数据

JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式.易于人阅读和编写,同时也易于机器解析和生成.JSON在前后台交互的过程中发挥着相当出色的作用. 服务端PHP读取MYSQL数据,并转换成JSON数据,传递给前端Javascript,并操作JSON数据.本文将通过实例演示了jQuery通过Ajax向PHP服务端发送请求并返回JSON数据.阅读本文的读者应该具备jQuery.Ajax.PHP相关知识,并能熟练运用. XHTML <ul id="use

AgileEAS.NET SOA 中间件平台.Net Socket通信框架-简单例子-实现简单的服务端客户端消息应答

一.AgileEAS.NET SOA中间件Socket/Tcp框架介绍      在文章AgileEAS.NET SOA 中间件平台Socket/Tcp通信框架介绍一文之中我们对AgileEAS.NET SOA中间Socket/Tcp框架进行了总体的介绍,我们知道 AgileEAS.NET SOA中间件Socket/Tcp框架是一套Socket通信的消息中间件: 二.简单例子-实现简单的服务器客户段消息应答      我们接下来实现一个简单的例子,例子的场景非常的简单,客户端向服务端发送一个请求

udp-UDP跨路由器通信,客户端无法收到服务端发送的UDP包

问题描述 UDP跨路由器通信,客户端无法收到服务端发送的UDP包 本人新手,正做一个UDP跨路由通信项目,遇如下问题:服务端(192.168.0.85)与路由器在同一网段,客户端(192.168.1.103)在该路由器组成的局域网内,现服务端可以接收到客户端发送的UDP包,但客户端无法收到服务端的UDP包.请问客户端发送的UDP包需怎样设置(IP/端口)?(PS:服务端与客服端在同一局域网内是可以UDP通信的) 以下是我的UDP设置客户端--目标IP:192.168.0.85----目标端口10