`

FLEX BOSH 连接Openfire 报Error 404 Invalid SID 的问题

阅读更多

因项目需要,IM必须支持Socket,Http(s)-BOSH多种方式的连接,所以研究了一遍XIFF的代码,下载Sparkweb demo代码。接着,纠结的事来了:登录完成后,返回Error 404 Invalid SID 。反反复复研究了XMPPBOSHConnection.as,终于发现问题所在

OUTCOMING 出去@192.168.66.11,但INCOMING回来的<item jid=winters_huang@kssp.google.com> ,知道是域名搞的鬼,把openfire 的系统属性 xmpp.domain 改为域名,同时把服务器的安全证书删除(之前是以IP生成的)并重新生成,重启openfire,Sparkweb使用kssp.google.com连接,一切OK,Openfire的会话列表又可以看到用户在线了。

另外,不知XIFF的代码为什么没有把pauseSession 的定时器start,我改为在handleLogin 事件中 setTimeout(pauseSession ,5000,11),即5秒后,每11秒活动一次Session。

后话:

1)此时抛了一个异常 BindExtension.as 第67行 报 Unknown element: resource,再研究下,忽略掉。

2)进入用户搜索,抛异常 Error: BOSH Error - item-not-found,连接被terminal。

ps: 使用jwchat(一个急于Ajax的XMPP客户端,完全正常,无解)

另外要说明一点就是不能使用localhost作为 xmpp.domain,在windows上也BOSH没有连接成功,包括jwchat

在笔记本上调试了吧,问题来了,搞不懂。36:24.609 [INFO] INCOMING <body xmlns='http://jabber.org/protocol/httpbind'><iq xmlns="jabber:client" type="result" id="iq_7" from="huanghuorong@huanghr" to="huanghuorong@huanghr/sparkweb"><vCard xmlns="vcard-temp"/></iq></body>

20:36:24.625 [INFO] PollServer...

20:36:24.625 [INFO] Polling

20:36:24.625 [INFO] OUTGOING <body sid="f5171ed1" rid="506561" xmlns="http://jabber.org/protocol/httpbind" />

20:36:44.656 [INFO] INCOMING <body xmlns="http://jabber.org/protocol/httpbind"></body>

20:36:44.656 [INFO] OUTGOING <body sid="f5171ed1" rid="506562" xmlns="http://jabber.org/protocol/httpbind"><iq type="set" id="iq_13"><bind xmlns="urn:ietf:params:xml:ns:xmpp-bind"><resource>sparkweb</resource></bind></iq></body>

20:36:44.671 [INFO] INCOMING <body xmlns='http://jabber.org/protocol/httpbind'><stream:error xmlns:stream="http://etherx.jabber.org/streams"><conflict xmlns="urn:ietf:params:xml:ns:xmpp-streams"/></stream:error></body>

20:36:44.671 [INFO] PollServer...

20:36:44.671 [INFO] Polling

20:36:44.671 [INFO] OUTGOING <body sid="f5171ed1" rid="506563" xmlns="http://jabber.org/protocol/httpbind" />

20:36:44.703 [ERROR] Error: service-unavailable - Remote Server Error

20:36:44.718 [ERROR] Error: Unknown HTTP Error - Error #2032: Stream Error. URL: http://huanghr:7070/http-bind/

分享到:
评论

相关推荐

    openfire+spark+sparkweb

    【Openfire、Spark和SparkWeb】是一套开源的即时通讯解决方案,主要由Openfire服务器、Spark客户端和SparkWeb网页客户端组成。Openfire是基于XMPP协议的服务器,它提供了聊天、会议、文件传输等实时通信功能。Spark...

    openfire3.10.0

    Openfire是基于Java开发的一款开源即时通讯(IM)服务器,其3.10.0版本提供了稳定且功能丰富的服务端平台,适用于企业级的实时通信需求。本文将深入解析Openfire 3.10.0及其在开发IM应用时的重要知识点。 **1. ...

    openfire_src3.5.1源码

    这使得Openfire能支持多种客户端连接方式,包括传统的BOSH(Bidirectional-streams Over Synchronous HTTP)以及现代的WebSocket。 2. **认证与授权**:Openfire使用Jaas(Java Authentication and Authorization ...

    openfire语音聊天

    本项目聚焦于利用Openfire构建一个集成语音聊天功能的Web即时聊天工具,通过Strophe.js这个JavaScript库来实现客户端与Openfire服务器的连接。 **XMPP简介** XMPP是一种基于XML的开放标准协议,用于即时消息传递和...

    使用Strophe连接xmpp,轻松构建web即时聊天工具

    1. **设置XMPP服务器**:首先,你需要配置一个支持XMPP的服务器,如ejabberd、Prosody或Openfire。这些服务器提供用户注册、登录、消息路由等功能。 2. **引入Strophe库**:在HTML文件(如`index.html`)中,将...

    openfire+connection mananger +strophe.js不兼容修复

    官方的strophe.js库在通过connection manager提供的bosh接口连接openfire的时候,无法成功完成建立连接,我的这个js要在strophe.js被引进后再引进其它的开发的部分不需要修改。

    VMWare BOSH平台介绍.pdf

    3. **BOSH网络**:BOSH管理的网络模型,可以灵活地配置虚拟机间的网络连接。 4. **BOSH作业(Jobs)**:每个作业代表了部署中的一个具体任务或服务,可以是单独的VM实例。 5. **BOSH发行版**:包含了部署所需的...

    stropheHttpBindOpenfire:strophe apache代理方式连接openfire,实现及时通信的配置

    这是一个使用strophe和bosh连接xmpp的简单演示。 包括简单的三个步骤。 首先,请确保您正确设置了xmpp服务器。 #1启用xmpp“ HTTP BIND”选项#2打开服务器中的7070端口,适用于Linux的iptables并重新启动。 将...

    Cloud Foundry BOSH简介

    Cloud Foundry BOSH 是一个强大的云管理和部署工具,由VMware开发并开源,主要用于简化Cloud Foundry平台的应用程序实例管理及大规模部署。BOSH的主要目标是实现自动化、无缝的组件更新,减少停机时间,同时支持跨...

    openfire_3_8_1.zip

    4. **配置文件**:如`conf`目录下的`openfire.xml`,这是Openfire的核心配置文件,用于设置服务器的基本属性,如端口、数据库连接信息、SSL/TLS设置等。 5. **插件**:Openfire支持插件扩展,`plugins`目录下可能...

    cloud foundry 大规模部署(bosh)及平台运营完整中文手册

    ### Cloud Foundry 大规模部署(BOSH)及平台运营完整中文手册 #### 一、基础知识与背景 **Cloud Foundry** 是一款领先的开源PaaS(Platform as a Service,平台即服务)产品,旨在为企业提供一种高效的方式去构建...

    openfire中间件

    Openfire中间件是一种基于XMPP(Extensible Messaging and Presence Protocol)协议的开源即时通讯服务器,它的核心功能是提供实时、双向且基于XML的数据传输。在本文中,我们将深入探讨Openfire的功能、工作原理...

    Can 总线协议(BOSH)

    Can总线协议,英文版(BOSH),很好的内容,适合汽车电子。

    jwchat-1.0-src.tar.gz_httpbind_jwchat

    jwChat利用BOSH连接Openfire服务器,提供用户友好的界面,支持基本的聊天功能,如一对一私聊、群组聊天、用户状态显示等。此外,jwChat还可以通过集成Openfire的插件,实现更高级的功能,如视频通话、文件共享等。 ...

    CloudFoundry大规模部署工具BOSH.zip

    BOSH是一个针对大规模分布式系统的部署和生命周期管理的开源工具,其基础是“a tool of release engineering"。由其定义可以看出,虽然BOSH的诞生出自cloudfoundry的部署难题,但BOSH能做的不只是部署cloudfoundry...

    汽车电气与电子BOSH

    根据提供的文件标题“汽车电气与电子BOSH”及其描述、标签等信息,我们可以推断这份文档主要涵盖了关于汽车电气系统及电子技术方面的专业知识。博世(Bosch)作为全球领先的汽车零部件和技术供应商之一,在汽车电子...

    BOSH7400XI协议

    1.4. **知识产权保护**:由于文档中提到这是未发表且包含机密信息,因此BOSH 7400 XI 协议的详细内容可能受到严格的保密协议约束,未经授权的复制或使用可能会引起法律问题。 1.5. **保修声明**:尽管协议内容被视...

    基于openfire服务器的xmpp协议的andorid端聊天daem

    这涉及到与Openfire服务器建立安全的连接,通常使用SSL/TLS加密,确保数据传输的安全性。登录成功后,服务器会返回一个JID(Jabber ID),作为用户的唯一标识。 2. **获取好友列表**:客户端向服务器发送请求,获取...

    bosh-init-bosh:使用新的 bosh-init CLI 部署 Micro BOSH

    bosh-init 部署 bosh 新的 CLI 不仅仅可以部署 Micro BOSH。 但在这个项目中,这正是我们要做的 - 使用新的bosh-init CLI 部署一个 Micro BOSH。 该项目将在运行 BOSH 的 AWS EC2 us-east-1 区域上部署单个服务器...

Global site tag (gtag.js) - Google Analytics