有没有办法在服务器端运行同一个JavaCcript(jQuery)实例并从Java方法调用它?:)
我很想知道是否可以在服务器端运行它(不是客户端),比如Google应用引擎.
我试图使用Jabber创建一个网络聊天.我已经安装了Openfire,我可以登录管理面板:9090,因此服务器正在运行.
现在当使用strophe.js基本示例时,使用strophe.js我会收到此错误:
5XMLHttpRequest无法加载http://jabber.xxx.dk:7070/http-bind/.Access-Control-Allow-Origin不允许使用Origin http://jabber.xxx.dk.
我怎么能允许域名?
我在Openfire中使用strophe.js库在浏览器中发送和接收XMPP消息.它工作正常,但仅限于我已经在我的联系人列表中的用户 - 名单.我需要注册新用户.我知道如何在我的名册中添加现有人,但我不知道如何在openfire上注册新用户.
我正在尝试通过Strophe.js(1.2.0)向XMPP服务器(OpenFire 3.9.3)发送订阅请求.
<presence type="subscribe" from="agent@localhost" to="agent3@localhost" xmlns="jabber:client">
<nick xmls="http://jabber.org/protocol/nick">agent3</nick>
</presence>
Run Code Online (Sandbox Code Playgroud)
名单项已创建,但没有昵称.
Openfire调试日志:
2015.04.22 11:57:43 XMPPServlet - 447b9ca3ad42f7bc78e09d35b882dfb3 : onMessage : Received : <presence type='subscribe' from='agent@localhost' to='agent3@localhost' xmlns='jabber:client'><nick xmls='http://jabber.org/protocol/nick'>agent3</nick></presence>
2015.04.22 11:57:43 XMPPServlet - 447b9ca3ad42f7bc78e09d35b882dfb3 : Delivered : <iq type="set" id="232-173" to="agent@localhost/f0ddfe38-7bdd-fc6b-04a7-e63a7e30bf89"><query xmlns="jabber:iq:roster"><item jid="agent3@localhost" ask="subscribe" subscription="none"/></query></iq>
Run Code Online (Sandbox Code Playgroud) 我只是想知道是否有一个Strophe插件用于与Ejabberd一起使用的消息发送收据?
我试图了解消息传递收据的工作原理,Strophe是否有任何文件/插件?
我正在使用Strophe.js开发一个聊天Web客户端(基于XMPP).在服务器端,我有一个Openfire服务器.
我正在寻找使用Strophe.js 的完整(和工作)文件传输示例(xep-0096).
我知道有一个名为si-filetransfer的插件,它应该有助于实现此功能,但缺少文档.所以要理解它是如何工作的并不容易.
在StackOverflow上我发现只有一些不完整的帖子与此事有关,例如:从xmpp保存收到的文件Strophe si-filetransfer
同样在网络上我没有找到任何完整的解决方案来满足我的需求.
如果有另一个解决方案来实现上述目标(使用XMPP协议在JS客户端中进行文件传输),那么欢迎!
使用用户'username @ localhost'连接到openfire服务器后,我正在尝试创建一个群聊即时空间,所以首先我按照此处的指定发送Presence Stanza:
<presence from='username@localhost' to='testroom@conference.localhost' xmlns='jabber:client'>
<x xmlns='http://jabber.org/protocol/muc'></x>
</presence>
Run Code Online (Sandbox Code Playgroud)
但是响应始终是一个错误:
<presence ... from='testroom@conference.localhost type='error'>
<x xmlns='http://jabber.org/protocol/muc></x>
<error code='400' type='modify'>
<bad-request xmlns="urn:ietf:params:xml:ns:xmpp-stanza"></bad-request>
</error>
</presence>
Run Code Online (Sandbox Code Playgroud)
我是否需要对Openfire进行任何配置才能使其正常工作?我知道你可以用Openfire Gui创建一个群聊室,并且工作正常,但当我尝试加入聊天室时,我得到了同样的错误.
我有一个ejabberd服务器,想为它写一个网络聊天客户端.我看过像Candy这样的东西,但是对于我想要做的事情,它们有点过头了.我只想要一些基本功能,如即时通讯,群聊和在线状态.
我使用strophejs-1.0.2的basic.html和basic.js示例文件作为我的基础.我已设法连接到我的jabber服务器,加入会议,"尝试发送消息",离开会议,并向我发送即时消息.大多数都是有效的.
我遇到的问题是当用户登录并加入会议时,它会尝试将消息发布到该组但是失败.
<message xmlns="jabber:client" from="test@conference.jabber.example.com" to="user@jabber.example.com/27311205821380711229538600" type="error">
<body>test2</body>
<error code="406" type="modify">
<not-acceptable xmlns="urn:ietf:params:xml:ns:xmpp-stanzas"></not-acceptable>
<text xmlns="urn:ietf:params:xml:ns:xmpp-stanzas">It is not allowed to send private messages to the conference</text>
</error>
</message>
Run Code Online (Sandbox Code Playgroud)
如果我使用Pidgin以自己的身份登录会议,我可以在会议中看到用户.它旁边有一个图标,上面有一个圆点和一些圆圈.如果我右键单击用户,则表示用户状态为"脱机".这很奇怪,因为用户在线.如果我查看ejabberd的管理控制台,我看到用户在线.我尝试在用户加入会议之前手动设置这样的状态:
connection.send($pres({type: "Available"}));
Run Code Online (Sandbox Code Playgroud)
结果如下:
<presence xmlns="jabber:client" from="user@jabber.example.com/27311205821380711229538600" to="user@jabber.example.com/27311205821380711229538600" type="Available"></presence>
Run Code Online (Sandbox Code Playgroud)
用户仍处于离线状态.
当它在线时它发送给我的即时消息在Pidgin中是红色文本.普通消息看起来是蓝色 我认为这是因为它认为用户处于离线状态.
我有点卡住了.我想知道是否有人可以帮助我或指出我正确的方向?我首先想弄清楚为什么这个用户看起来像是脱机而且似乎并没有修复它.
我一直在查看有关如何查询名册的文档.我也没有取得多大成功.我正在寻找一个非常基本的示例来显示哪些用户在线以及他们的状态,如果有更改,则回调更新.
有谁可以帮助我吗?
我正在使用Strophe.js的ejabberd 15.06版本.从我的后端数据库中检索一对一聊天工作正常.但是如何从数据库中检索群聊历史?
例如,如果我有一个"strophe"组.当新用户加入strophe组时,应显示其他用户在该组中完成的聊天记录.
我正在使用此代码
var pres = $pres({ to: room + "/" + nickname, from: connection.jid });
connection.send( msg.c('x', {xmlns: NS_MUC}));
if(chat_history != null){
var msg_history = msg.c('x', { "xmlns": "http://jabber.org/protocol/muc"}).c("history", chat_history, {maxstanzas: 50});
debugger;
console.log(msg_history);
}
Run Code Online (Sandbox Code Playgroud)
在我的控制台中看起来像
h.Builder {nodeTree: presence, node: x}
Run Code Online (Sandbox Code Playgroud)
我被困在如何获取群聊的历史.请帮忙
我设法使用 Strophe MAM 将存档的消息放入 RAWInput,并显示最后一条消息(但仅显示最后一条)。如何显示来自 RAWInput 的所有消息?但不只是最后一个?
我如何提取消息来自谁?
我已将消息限制在最后 5 条。
connection.mam.query("test3@macbook-pro.local", {
"with": "test4@macbook-pro.local","before": '',"max":"5",
onMessage: function(message) {
console.log( $(message).text());
},
onComplete: function(response) {
console.log("Got all the messages");
}
});
Run Code Online (Sandbox Code Playgroud)