新的flash播放器加入了跨域名访问安全机制。
在跨域名访问时,flash播放器会发送一条信息:
<policy-file-request/>
必须要接受一条xml策略信息才能通过验证。
要flash播放器通过安全验证可以在ConnectionManager中的ConnectionHandler类加入如下代码
if(xmlpolicy1.equals("<policy-file-request/>")) {
StringBuilder sb = new StringBuilder();
sb.append("<?xml version=\"1.0\"?>");
sb.append("<cross-domain-policy>");
sb.append("<site-control permitted-cross-domain-policies=\"all\"/>");
sb.append("<allow-access-from domain=\"*\" to-ports=\"*\"/>");
sb.append("</cross-domain-policy>");
String xmlpolicy = sb.toString();
System.out.println(xmlpolicy);
session.write(ByteBuffer.wrap(xmlpolicy.getBytes())); //openfire整个架构是mima框架
session.close();
} else {
//原内容
....
只要让flash第一次连接时,返回一条通过验证的xml策略文件就可以了
测试的时候flash可以正常通过验证。不知这样修改是否稳定。
分享到:
相关推荐
【asmack连接Openfire测试】是针对XMPP(Extensible Messaging and Presence Protocol)协议实现的一种客户端连接示例,主要用于教初学者如何使用asmack库与Openfire服务器进行交互。Openfire是一款开源、基于XMPP...
3. **连接与认证**:测试过程中,你需要验证客户端(例如:Spark、Jabber、Pidgin等)是否能成功连接到Openfire服务器,并进行身份验证。这涉及到用户注册、登录、离线消息处理等环节。 4. **群组与聊天室**:...
libjingle作为客户端,需要通过XMPP协议连接到Openfire服务器进行身份验证和建立会话。这一过程通常涉及以下步骤: 1. **身份验证**:libjingle客户端创建一个XMPP连接,发送登录请求,包含用户名和密码,Openfire...
Strophe.js的`strophe.flxhr.js`则是Strophe.js的一个扩展,它将Strophe.js的XMLHttpRequest部分替换为flXHR,使得Strophe.js可以通过Flash实现跨域连接到Openfire服务器。 以下是如何使用这些文件来解决跨域问题的...
这个"openfire测试demo"很可能是为了演示如何与Openfire服务器进行交互,包括建立连接、创建用户账户以及发送消息等核心功能。在本文中,我们将深入探讨这些关键知识点。 首先,让我们了解Openfire的基本架构。...
在这个测试客户端程序中,可能使用了类似的库来实现与Openfire的连接。 客户端程序的关键功能包括: 1. **连接与断开**:客户端需要能够建立与Openfire服务器的安全连接(通常使用SSL/TLS),并能适时断开连接以...
XIFF使得Flash应用能够连接到支持XMPP的服务器,如Openfire,进行实时通信。 3. Openfire:Openfire是一款开源的XMPP服务器,用Java编写,提供实时通讯服务。它可以处理用户注册、会话管理和消息传递等功能。在本...
【标题】"openfire 类似QQ客户端 本测试 聊天功能都是ok的" 指的是一个基于XMPP协议的即时通讯系统Openfire,它被用于创建类似腾讯QQ的聊天应用。Openfire是一个开源、免费的企业级即时通讯服务器,支持多种平台,...
在VM arguments文本框中输入-DopenfireHome="${workspace_loc:openfire}/target/openfire",这样Openfire程序可以通过System.getProperty(“openfireHome”)得到openfire的本地位置。 六、 运行Openfire服务器 ...
- 测试Jwchat与Openfire的连接,确保用户可以成功登录并进行实时通信。 4. **部署Jwchat**: - 将Jwchat部署到Web服务器,如Apache、Nginx等,确保所有依赖库和环境变量已正确配置。 - 配置Web服务器以处理...
本文将深入探讨如何使用Smack库,一个Java实现的XMPP客户端库,来连接到Openfire服务器并进行交互。Smack简化了与XMPP服务器的通信,提供了丰富的API来处理用户认证、会话管理、消息发送和接收、以及用户状态等。 ...
4. **错误处理**:处理各种可能的网络和认证错误,如连接失败、认证失败等,提供友好的用户反馈。 5. **保持连接**:为了实现实时聊天功能,应用需要保持与Openfire的持久连接,可能需要处理网络断开后的重连逻辑。...
Android应用需要处理网络权限,并通过Smack库与Openfire服务器建立连接,实现用户认证、聊天室创建、私聊及群聊功能。 【即时通讯客户端实现】 1. **用户认证**:客户端首先需要向Openfire服务器发送登录请求,...
这里需要注意,如果更改了解压后的文件名,需在后续步骤中同步修改,否则可能导致编译错误。 接着,我们需要将"build\eclipse"目录下的"settings"文件夹、"classpath"文件和"project"文件复制到"openfire_src"根...
1. **Flex环境搭建**:首先需要安装Flash Builder,这是一个集成开发环境(IDE),用于编写、测试和部署Flex应用程序。导入项目后,开发者可以在Flash Builder中查看和编辑源代码。 2. **XIFF库集成**:XIFF库需要...
【基于Openfire 仿QQ】项目是一个实现类似QQ即时通讯功能的应用,利用开源的Openfire服务器作为后台支撑。Openfire是一款用Java编写的轻量级XMPP(Extensible Messaging and Presence Protocol)服务器,广泛用于...
开发者需要集成Openfire的API,创建客户端连接,并通过XMPP协议进行数据交换,实现消息的发送和接收。 **Android消息推送**:在Android上实现消息推送,通常需要处理离线消息、后台运行、电池效率等问题。Openfire...
通过Openfire,你可以搭建一个安全、可扩展的通讯平台。 Smack库是Java开发者与XMPP服务器通信的主要工具,它支持XMPP的核心功能,包括登录、发送和接收消息、建立和管理联系人、以及处理在线状态等。Smack库不仅...
4. **数据库交互(Database Interaction)**:Openfire插件可能需要存储或检索数据,因此会有与数据库交互的代码,这通常涉及JDBC连接和SQL查询。 5. **XML配置文件(XML Configuration Files)**:Openfire插件的...
在Linux环境下,Openfire是一款基于Java的开源即时通讯(IM)服务器,它允许用户通过XMPP协议进行实时通信。为了在Linux系统上成功安装并配置Openfire,我们需要遵循一系列步骤,涉及的主要组件包括JDK(Java ...