获取策略文件的Java服务器端代码import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
import java.net.ServerSocket;
import java.net.Socket;public class SecurityXMLServer implements Runnable {private ServerSocket server;
private BufferedReader reader;
private BufferedWriter writer;
private String xml;public SecurityXMLServer()
{String path = "policyfile文件路径";//此处的换成相应的读取xml文档的方式如dom或sax //xml = readFile(path, "UTF-8");/**注意此处xml文件的内容,为纯字符串,没有xml文档的版本号*/xml="<cross-domain-policy> "+"<allow-access-from domain=/"*/" to-ports=/"1025-9999/"/>"+"</cross-domain-policy> ";System.out.println("policyfile文件路径: " + path);System.out.println(xml);//启动843端口createServerSocket(843);new Thread(this).start();
}//启动服务器
private void createServerSocket(int port)
{try {server = new ServerSocket(port);System.out.println("服务监听端口:" + port);} catch (IOException e) {System.exit(1);}
}//启动服务器线程
public void run()
{while (true) {Socket client = null;try {//接收客户端的连接client = server.accept();InputStreamReader input = new InputStreamReader(client.getInputStream(), "UTF-8");reader = new BufferedReader(input);OutputStreamWriter output = new OutputStreamWriter(client.getOutputStream(), "UTF-8");writer = new BufferedWriter(output);//读取客户端发送的数据StringBuilder data = new StringBuilder();int c = 0;while ((c = reader.read()) != -1){if (c != '/0')data.append((char) c);elsebreak;}String info = data.toString();System.out.println("输入的请求: " + info);//接收到客户端的请求之后,将策略文件发送出去if(info.indexOf("<policy-file-request/>") >=0){writer.write(xml + "/0");writer.flush();System.out.println("将安全策略文件发送至: " + client.getInetAddress());}else{writer.write("请求无法识别/0");writer.flush();System.out.println("请求无法识别: "+client.getInetAddress());}client.close();} catch (Exception e) {e.printStackTrace();try {//发现异常关闭连接if (client != null) {client.close();client = null;}} catch (IOException ex) {ex.printStackTrace();} finally {//调用垃圾收集方法
          System.gc();}}}
}//测试主函数
public static void main(String[] args)
{new SecurityXMLServer();
}
}针对Socket的策略文件<cross-domain-policy>
<allow-access-from domain="*" to-ports="507" />
<allow-access-from domain="*.example.com" to-ports="507,516" />
<allow-access-from domain="*.example2.com" to-ports="516-523" />
<allow-access-from domain="www.example2.com" to-ports="507,516-523" />
<allow-access-from domain="www.example3.com" to-ports="*" />
</cross-domain-policy>

http://www.cnblogs.com/pelephone/articles/security-2048-java-socket-flash.html

转载于:https://www.cnblogs.com/as3lib/archive/2012/10/25/2739992.html

java socket安全策略文件相关推荐

  1. Java Socket实现文件传输

    阿里云双11服务器优惠(年度最佳优惠): A:1核2GB 1M 服务器年69元 B:1核2GB 1M 服务器三年180元 C:2核4GB 1~10M 服务器三年567元(强烈推荐) D:4核8GB 1 ...

  2. 基于Java Socket的文件UpLoad代码(完美版)-用递归解决java的目录树遍历

    http://blog.csdn.net/dongfengsun/archive/2007/12/12/1930577.aspx 上次用J2SE写了一个文件夹传递工具,把所有文件都以字节流的形式写入到 ...

  3. Java Socket编程 文件传输(客户端从服务器下载一个文件)

    服务器(Server) [java] view plaincopy  package com.socket.sample;      import java.io.BufferedInputStrea ...

  4. java socket 读取文件_Java中Socket下载一个文本文件

    package com.lanqiao.demo2; import java.io.BufferedInputStream; import java.io.FileInputStream; impor ...

  5. java socket 读取文件_java中ServerSocket读取文件流不是分行读取

    在学习socket的TCP通讯 在使用 TCP传一个文件时 遇到这样两个问题 1. 服务端流读取时一次性读了所有内容 而不是分行读取 2. 自动刷新不生效 代码如下 package com.fuge. ...

  6. dout java,java socket 发送文件

    客户端 public class ClientTcpSend { public static void main(String[] args) { int length = 0; byte[] sen ...

  7. 文件绑定java socket多线程网络传输多个文件Strut2教程-java教程

    题记:写这篇博客要主是加深自己对文件绑定的认识和总结实现算法时的一些验经和训教,如果有错误请指出,万分感谢. 由于要需究研了下用java socket传输文件,由于要需传输多个文件,因此,采用了多线程 ...

  8. Android之在Java socket作为服务器里面返回数据头部怎么写入浏览器需要下载文件的文件名

    1 问题 Android app里面写了一个Java socket的简单服务器,在浏览器里面输入相应的IP和端口访问服务器下载文件,Java socket怎么写返回数据的头部信息,浏览器才知道需要下载 ...

  9. java socket 传输压缩文件_java基于socket传输zip文件功能示例

    本文实例讲述了java基于socket传输zip文件的方法.分享给大家供大家参考,具体如下: 服务器端程序: import java.io.*; import java.net.*; import j ...

最新文章

  1. Swift3.0带来的变化汇总系列一——字符串与基本运算符中的变化
  2. Verilog初级教程(23)Verilog仿真中的显示任务
  3. 机器人第一次独立手术!最快55分钟缝合肠道,华裔教授带队研发,“结果显著优于外科医生”...
  4. linux网卡驱动更换,Ubuntu更换网卡驱动
  5. PHP Extension Makefile 製作
  6. 学习Matlab强大的符号计算(解方程)
  7. groovy import java_在Java中调用Groovy方法的又一种方法:使用接口
  8. springboot项目启动后无法访问index.html首页
  9. NSLog (Log信息的输出)
  10. linux网卡名称乱编,小斗CentOS7.x网卡名称错乱、及网卡启动失败。
  11. FireFox 插件SQLite Manager 学习
  12. 发那科机器人接线电源_电源开关上的L1和L2是不是火线和零线?
  13. python微信商城_GitHub - pythonsir/nideshop: NideShop 开源微信小程序商城服务端(Node.js + ThinkJS)...
  14. C++ MFC与三菱PLC通讯
  15. 哈希值是什么? 哈希概念
  16. 常用Jquery插件整理大全
  17. 美国国父乔治华盛顿首任就职演说
  18. 知识点滴 - 关于苹果认证MFI
  19. 安装mysql时一直卡在starting the server这一位置,解决办法
  20. linux配置虚拟IP地址方法

热门文章

  1. 用koa开发一套内容管理系统(CMS),支持javascript和typescript双语言
  2. nginx rewrite重写与防盗链配置
  3. MySQL FEDERATED引擎使用示例, 类似Oracle DBLINK
  4. set RowCount 与 top n
  5. flex 3.0序列号
  6. ntbackup 创建卷影复制:ffffffff 时出现错误
  7. 用.NET调用oracle的存储过程返回记录集
  8. AGC029 E: Wandering TKHS
  9. 点击按钮显示隐藏的表格
  10. activeMQ 填坑记