当前位置:首页 > 开发 > 编程语言 > Http > 正文

自动检测http和https的RemoteObject

发表于: 2013-01-13   作者:darrenzhu   来源:转载   浏览次数:
摘要: package { import util.BrowserUtil; import mx.controls.Alert; import mx.messaging.Channel; import mx.messaging.ChannelSet; import mx.messaging.channels.AMFChannel; import mx.messaging.c
package 
{
	import util.BrowserUtil;
	import mx.controls.Alert;
	import mx.messaging.Channel;
	import mx.messaging.ChannelSet;
	import mx.messaging.channels.AMFChannel;
	import mx.messaging.channels.SecureAMFChannel;
	import mx.rpc.remoting.mxml.RemoteObject;
	
	public class RemoteObjectWrapper
	{
		private var _remote:RemoteObject;
		private var _destination:String;
		private var _url:String;
		private var _useSecureAMFChannel:Boolean=false;
		
		public function RemoteObjectWrapper(destination:String,useSecureAMFChannel:Boolean=false,url:String=null)
		{
			this._destination=destination;
			this._useSecureAMFChannel=useSecureAMFChannel;
			this._url=url;
		}
		
		public function get newInstance():RemoteObject{
			this._remote=new RemoteObject(_destination);
			_remote.channelSet=new ChannelSet();
			var channel:Channel=newChannel();
			_remote.channelSet.channels=[channel];
			_remote.requestTimeout=7200;
			return _remote;
		}
		
		private function newChannel():Channel{
			var channel:Channel;
			if(this._url==null || this._url.length==0){
				var browserUtil:BrowserUtil=BrowserUtil.getInstance();
				if(this._useSecureAMFChannel || browserUtil.isHttpsURL){
					channel=new SecureAMFChannel();
					channel.url="/"+browserUtil.contextRoot+"/messagebroker/amfsecure";
				}else{
					channel=new AMFChannel();
					channel.url="/"+browserUtil.contextRoot+"/messagebroker/amf";
				}
			}else{
				if(this._useSecureAMFChannel || this._url.indexOf("https")>-1 || this._url.indexOf("amfsecure")>-1){
					channel=new SecureAMFChannel();
					channel.url=_url;
				}else if(this._url.indexOf("http")>-1 || this._url.indexOf("amf")>-1){
					channel=new AMFChannel();
					channel.url=_url;
				}
			}
			return channel;
		}
		
	}
}

自动检测http和https的RemoteObject

  • 0

    开心

    开心

  • 0

    板砖

    板砖

  • 0

    感动

    感动

  • 0

    有用

    有用

  • 0

    疑问

    疑问

  • 0

    难过

    难过

  • 0

    无聊

    无聊

  • 0

    震惊

    震惊

编辑推荐
 HTTP是一个属于应用层的面向对象的协议,由于其简捷、快速的方式,适用于分布式超媒体信息系统。它
 HTTP是一个属于应用层的面向对象的协议,由于其简捷、快速的方式,适用于分布式超媒体信息系统。它
HTTP是一个属于应用层的面向对象的协议,由于其简捷、快速的方式,适用于分布式超媒体信息系统。它
SSL (Secure Socket Layer)   为Netscape所研发,用以保障在Internet上数据传输之安全,利用数据
浅析HTTP协议 HTTP协议是什么? 简单来说,就是一个基于应用层的通信规范:双方要进行通信,大家都
浅析HTTP协议 HTTP协议是什么? 简单来说,就是一个基于应用层的通信规范:双方要进行通信,大家都
浅析HTTP协议 HTTP协议是什么? 简单来说,就是一个基于应用层的通信规范:双方要进行通信,大家都
浅析HTTP协议 HTTP协议是什么? 简单来说,就是一个基于应用层的通信规范:双方要进行通信,大家都
1 HTTP (Hypertext transfer protocol) 超文本传输协议 是一个基于请求与响应模式的、无状态的、应
需求简介 基于nginx搭建了一个https访问的虚拟主机,监听的域名是test.com,但是很多用户不清楚http
版权所有 IT知识库 CopyRight © 2009-2015 IT知识库 IT610.com , All Rights Reserved. 京ICP备09083238号