<body rid='2611494097' xmlns='http://jabber.org/protocol/httpbind' sid='dfd121f0'>
<message to='wq@lijueqing' from='ljq@lijueqing' type='chat' xmlns='jabber:client'>
<body>hello</body>
</message>
</body>
发送的js:
$('#send').bind('click', function () {
var msg=$('#msg').val();
toId = $('#tojid').val();
var reply = $msg({to: toId, from: fromId , type: 'chat'}).cnode(Strophe.xmlElement('body', '' ,msg));
connection.send(reply.tree());
appendToHis(new Date().toLocaleTimeString() + " Me: " + msg);
$('#msg').val('');
});
接收的:
<body xmlns='http://jabber.org/protocol/httpbind'>
<message xmlns='jabber:client' id='pE7U3-33' to='ljq@lijueqing/dfd121f0' from='wq@lijueqing/Spark 2.6.3' type='chat'>
<body>hello body</body><thread>s1pmSh</thread>
<x xmlns='jabber:x:event'>
<offline/><composing/>
</x>
</message>
</body>
查找好友:
<body rid='2541497325' xmlns='http://jabber.org/protocol/httpbind' sid='75c736be'>
<iq type='get' xmlns='jabber:client' id='5910:sendIQ'>
<query xmlns='jabber:iq:roster'/>
</iq>
</body>
type是get表示请求:一个成功的get查询的结果type=”result”的<iq/>元素:一个不成功的返回是一个type=”error”的<iq/>元素
返回的结果:
<body xmlns='http://jabber.org/protocol/httpbind'>
<iq xmlns='jabber:client' type='result' id='5910:sendIQ' to='ljq@lijueqing/75c736be'>
<query xmlns='jabber:iq:roster'><item jid='wq@lijueqing' name='wq' subscription='both'>
<group>Friends</group>
</item>
</query>
</iq>
</body>
<body xmlns='http://jabber.org/protocol/httpbind'>
<iq xmlns='jabber:client' type='result' id='5912:sendIQ' to='ljq@lijueqing/75c736be'>
<query xmlns='jabber:iq:roster'>
<item jid='sss@lijueqing' name='sss' subscription='to'>
<group>Friends</group>
</item>
<item jid='wq@lijueqing' name='wq' subscription='both'>
<group>Friends</group>
</item>
</query>
</iq>
</body>
:js代码获取:
$('#friends').bind('click', function () {
var iq = $iq({type: 'get'}).c('query', {xmlns: 'jabber:iq:roster'});
connection.sendIQ(iq, getFriends); // getFriends是回调函数
});
function getFriends(iq){
$(iq).find('item').each(function () {
var jid = $(this).attr('jid');
var name = $(this).attr('name') || jid;
});
}
退出的:
<body rid='2541497375' xmlns='http://jabber.org/protocol/httpbind' sid='75c736be' type='terminate'><presence xmlns='jabber:client' type='unavailable'/></body>
分享到:
相关推荐
基于strophe.js的web聊天,实现了登录、聊天、获取好友功能。请修改 var BOSH_SERVICE = "本地转发地址",涉及到JS跨域请用 nignx或 apache反向代理
使用strophe.js构建webXxmpp即时通讯的框架文件,多学习!
strophe注册插件,xmpp ,openfire服务器,带内注册
官方的strophe.js库在通过connection manager提供的bosh接口连接openfire的时候,无法成功完成建立连接,我的这个js要在strophe.js被引进后再引进其它的开发的部分不需要修改。
前端项目-strophe.js,strophe.js是一个用于JavaScript的xmpp库
xmpp web客户端开发所需要js库:strophe.flxhr.js,strophe.js,flxhr
cordova + ionic 创建的android版app,使用Strophe.js 实现xmpp客户端,实现了即时通讯聊天功能,服务端为openfire,需要自行搭建,应用可以实现账户登录,添加好友,聊天功能
解决Openfire strophejs网站 跨域访问问题,文件中有flXHR.js、strophe.flxhr.js跨域脚本,有个具体实例basic.html供参考
学习strophe.js,ejabberd 群聊在项目中实现 demo源码分享
基于HTML5 + js 搭建XMPP即时聊天,或者OPENfile,里面东西不对,希望对刚接触的人有点用处
flXHR.js,strophe.flxhr.js,开发http to xmpp的JS 库文件
Strophe是一个流行的库,用于编写可在任何当前流行的浏览器上运行的XMPP客户端应用程序。 strophe.js使用BOSH(同步HTTP上的双向流,长轮询的一种形式)代替了本机TCP绑定,以连接到XMPP服务器。 除了使任何人都...
基于 Strophe.js 和 openfire 在 laravel 中构建的示例客户端聊天应用程序。 目前这个应用程序允许您注册和登录,我使用了一个示例引导模板,没有冒犯的意思。 登录应用程序后,您可以向 jabber 客户端/注册用户发送...
这是使用javascript开发的xmpp的例子,只实现了连接xmpp服务器的操作, ...flXHR.js、strophe.flxhr.js、strophe.js、jquery-1.8.3.js、jquery-ui-1.9.2.custom.min.js、flensed.js、checkplayer.js、swfobject.js等
Strophe.js是一个JavaScript库,用于通过BOSH(XEP 124和XEP 206)和WebSockets(RFC 7395)与XMPP通信的库。
strophejs-1.2.0.zip,最新版本。
strophejs代码,支持xmpp Strophe.js is an XMPP library for JavaScript. It is primary purpose is to enable web-based, real-time XMPP applications that run in any browser.
flXHR.js,xmpp web开发所需要的必要的2个js文件。 ../flXHR.js ../strophe.flxhr.js
Strophe.js是一个JavaScript库,用于通过BOSH( 和 )和WebSockets( )来讲XMPP。 其主要目的是启用在任何浏览器中运行的基于Web的实时XMPP应用程序。 《》一书详细介绍了Web应用程序上下文中的Strophe。 快速...
Strophe.js是一个JavaScript库,用于通过BOSH( 和 )和WebSockets( )来讲XMPP。 其主要目的是启用在任何浏览器中运行的基于Web的实时XMPP应用程序。 《》一书详细介绍了Web应用程序上下文中的Strophe。 快速...