Flash安全策略
客户端发送字符串以NULL
结尾的请求字符串<policy-file-request/>
到服务器
服务器返回策略文件响应,内容如下:
使用Netty的NIO方式实现
传统的ServerSocket.accept()方式会在每次调用都会阻塞,每一个Socket连接都需要启动新线程。
Netty则可以用非阻塞异步的方式处理请求,而且自带大部分编解码器可以完成需求。
- DelimiterBasedFrameDecoder 将接收到的ByteBuf按指定分隔符分割,此处需要用到Delimiters.nulDelimiter()
- StringDecoder和StringEncoder 将读入或写出的ByteBUf解编码为String
- IdleStateHandler 读超时事件触发时,可以及时关闭Channel
此外,还需要自己实现一个Handler返回策略文件内容。
Java代码
完整代码
see also