您的位置:首页 > 编程语言 > Java开发

Flex Java 安全策略

2012-01-13 11:24 225 查看
  Flex界面和Java后台进行Socket交互,socket服务器端总接收到 <policy-file-request/>信息,而无法进行下一步通信。原因是Adobe Flash Player 9.0.124版本后,安全策略被更改,原来Socket或XmlSocket的应用里的http方式加载安全策略的手段不能继续使用。我们可以通过下面方法来实现。

Socket服务器端 检验得到安全策略 <policy-file-request/>,如接收则发送策略串

检验没有获得安全策略 <policy-file-request/>,则进行业务逻辑处理

客户端 初始化界面时调用Socket 第一次调用会发送安全策略建立连接,如成功获取服务器端的策略,此客户端将可以进行正常Socket连接请求

下面是Socket服务器端的代码:

InputStream br= socket.getInputStream();
byte [] reader = new byte [1000];

BufferedWriter pw = new BufferedWriter( new OutputStreamWriter(socket.getOutputStream()));
while (br.read(reader)!=-1){
String msg="";
msg=new String(reader,"UTF-8"); //输入的请求
reader =new byte [1000];
if(msg!=null){

String safe = "<cross-domain-policy><allow-access-from domain=\"*\" to-ports=\"*\" /></cross-domain-policy>\0";
   if(msg.indexOf("<policy-file-request/>") >=0)
   {
   pw.write(safe); //传回安全策略串
   pw.flush();
   }
   else
   {
   //正常业务逻辑处理
   }
           }
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: