xmppforandroid
A. 基于XMPP协议的android im聊天程序怎么判断好友是否在线
在线好友放在一组,离线好友放在一组 这个分组是应用处理的问题吧?而不是xmpp协议的事情。既然都知道了哪些好友在线,为什么不能分组呢。
B. android 即时通讯 xmpp 怎么实现 求demo
你可以看看这个http://download.csdn.net/detail/u010249350/5438183#comment或者http://download.csdn.net/detail/a231930/5283850#comment这两个后一个比较好点
C. OPPO手机的本地消息推送在哪里
OPPO手机的本地消息推送步骤如下:
先进入设置——进通知与状态栏——选择通知管理——选择要设置的消息推送。
D. Android及时通讯应用使用socket.io比XMPP有优势吗
joe001 1楼•2 年前
为什么不用socket,要用socket.io
caomulao 2楼•2 年前
socket处理起来会相对复杂一些吧、
joe001 3楼•2 年前
不会啊,node写socket server主页上的helloworld一看就明白,至于android的socket客户端,基本就等同于java的socket客户端啊
liuyanghejerry 4楼•2 年前
XMPP的好处在于实现了一批常用的东西,比如登录验证群聊表情之类的。自己用node写聊天也没啥问题,但是这些内容你就要自己动手了。
liuyanghejerry 5楼•2 年前
换句话说,你的精力集中于业务,还是底层通讯?你自己选择。
caomulao 6楼•2 年前
是吗,主要以前没研究过socket。想着socket.io已经封装好了,应该简单点。我去研究下socket去,谢了
caomulao 7楼•2 年前
嗯,谢谢了。原来还有这些区别。看资料说XMPP比较复杂,原来是集成度高啊
meteormatt 8楼•2 年前
@lao一般集成度高的, 都比较复杂.
socket.io在有些不懂的人眼里, 也很复杂.
joe001 9楼•2 年前
xampp的好处是有现成的server,不用再自已写server
用socket.io,要自已写server,还要自已定协议
E. android消息推送GCM、XMPP、MQTT三种方案的优劣是什么
android消息推送GCM、XMPP、MQTT三种方案的优劣如下:1、GCM
(1)优点:提供的服务、原生、简单,无需实现和部署的服务端。
(2)缺点:Android版本限制(必须大于2.2版本),该服务在国内不够稳定、需要用户绑定相关的Google帐号,而且只受限于Google。
2、XMPP
(1)优点:成熟、强大、可扩展也性强、目前主要应用于聊天系统中,且已有开源的Java版的开发实例androidpn。
(2)缺点:协议较复杂、冗余(基于XML)、也比较费流量和费电,部署硬件成本高。
3、MQTT
(1)优点:简洁、小巧、可扩展性强、是比较省流量、省电。目前已有C++版的服务端组件rsmb。
(2)缺点:不够成熟、实现起来较复杂、服务端组件rsmb不开源,也是部署硬件成本较高。
消息推送软件可以使用深圳极光的。极光成立于2011年;凭借领先的人工智能及机器学习技术,极光将在APP消息推送、用户增长与活跃等方面为客户提供服务。
F. android消息推送GCM、XMPP、MQTT三种方案的优劣,越仔细越好,有具体分析更好!
android消息推送GCM、XMPP、MQTT三种方案的优劣:1、GCM服务(Google Cloud Messaging)优点:Google提供的服务、原生、简单,无需实现和部署服务端。缺点:Android版本限制,该服务在国内不够稳定、需要用户绑定Google帐号,受限于Google。
2、XMPP协议(Openfire + Spark + Smack)优点:协议成熟、强大、可扩展性强、目前主要应用于许多聊天系统中,且已有开源的Java版的开发实例androidpn。缺点:协议较复杂、冗余(基于XML)、费流量、费电,部署硬件成本高。
3、MQTT协议优点:协议简洁、小巧、可扩展性强、省流量、省电,目前已经应用到企业领域,且已有C++版的服务端组件rsmb。缺点:不够成熟、实现较复杂、服务端组件rsmb不开源,部署硬件成本较高。
d消息推送可以去了解一下极光,极光是个不错的平台。极光紧密围绕移动开发者需求,打造的开发者服务平台,可以提供一站式SaaS服务,通过全面覆盖PC、手机、传感器、无线路由器等多种设备数据,打造全域数据平台。当前,不断更新的SaaS产品及服务已深受国内百万开发者的认可和信赖。
G. 如何在 aSmack xmpp 中创建组 android 吗
您可以创建用户组,
public boolean createGroup(XMPPConnection connection,String groupName) {
if (connection == null)
return false;
try {
connection.getRoster().createGroup(groupName);
Log.v("Group created : ", groupName);
return true;
} catch (Exception e) {
e.printStackTrace();
return false;
}
}
如果你踢在 xmpp 中创建分组聊天再试试下面的方法。(* * 未选中)
public class createMucAT extends AsyncTask<Void, Void, MultiUserChat> {
private RosterGroup group;
private Connection conn;
private String groupId;
private String groupName;
public createMucAT(Connection conn, RosterGroup group, String groupId,
String groupName) {
this.group = group;
this.conn = conn;
this.groupId = groupId;
this.groupName = groupName;
}
@Override
protected MultiUserChat doInBackground(Void... params) {
String groupTag = group.getName();
MultiUserChat chat = null;
try {
chat = createGroupChat(conn, groupId, groupTag, conn.getUser());
} catch (XMPPException e) {
e.printStackTrace();
}
return chat;
}
@Override
protected void onPostExecute(MultiUserChat result) {
super.onPostExecute(result);
//handle the result here
}
private MultiUserChat createGroupChat(Connection conn, String groupId, String groupName, String nickname) throws XMPPException {
MultiUserChat muc = new MultiUserChat(conn, groupId + "@" + ConnectionService.CONFERENCE_IP_ADDRESS);
muc.create(nickname);
Form form = muc.getConfigurationForm();
Form submitForm = form.createAnswerForm();
for (Iterator<FormField> fields = form.getFields(); fields.hasNext();) {
FormField field = (FormField) fields.next();
if (!FormField.TYPE_HIDDEN.equals(field.getType()) && field.getVariable() != null) {
submitForm.setDefaultAnswer(field.getVariable());
}
}
List<String> owners = new ArrayList<String>();
owners.add(ConnectionService.getConnection().getUser().toString());
submitForm.setAnswer("muc#roomconfig_roomowners", owners);
submitForm.setAnswer("muc#roomconfig_persistentroom", true);
submitForm.setAnswer("muc#roomconfig_roomdesc", groupName);
muc.sendConfigurationForm(submitForm);
return muc;
}
}
H. android 基于xmpp开发即时通讯时 发送消息的限制
实例挺简单的,已经配置好环境
服务端先装openfire,配置好数据库,建几个用户
然后装spark,可以登录,进去后可以添加好友和进行回话
然后安装这个客户端APP,更改服务器IP,可以进行登录。
只是运行起来有点卡
I. android中 的xmpp连接服务器总是出非法状态异常异常是怎么回事
04-24 00:51:37.885: W/System.err(329): java.lang.IllegalStateException: Not connected to server.
04-24 00:51:37.885: W/System.err(329): at org.jivesoftware.smack.XMPPConnection.sendPacket(XMPPConnection.java:488)
04-24 00:51:37.885: W/System.err(329): at org.jivesoftware.smack.NonSASLAuthentication.authenticate(NonSASLAuthentication.java:69)
04-24 00:51:37.895: W/System.err(329): at org.jivesoftware.smack.SASLAuthentication.authenticate(SASLAuthentication.java:353)
04-24 00:51:37.895: W/System.err(329): at org.jivesoftware.smack.XMPPConnection.login(XMPPConnection.java:230)
04-24 00:51:37.895: W/System.err(329): at org.jivesoftware.smack.Connection.login(Connection.java:353)
04-24 00:51:37.895: W/System.err(329): at com.wxs.model.User.login(User.java:200)
04-24 00:51:37.895: W/System.err(329): at com.wechat.project.activity.LoginAcitivity$4$1.run(LoginAcitivity.java:78)
04-24 00:51:37.905: W/System.err(329): at java.lang.Thread.run(Thread.java:1096)
J. android推送xmpp和mqtt单台服务器支持连接多少,并发多少,求两种协议比较,有测试过的吗
根据实地观察,单台mqtt服务如果并发达到5w以上,就经常出故障;在2w左右内网访问服务器就比较卡了。
注:配置是4核 16G内存,虚机。配置有点差。对CPU的消耗比较高,内存基本没啥消耗,所以建议把CPU整好点。