[英]Flash SecurityDomain, P2P settings and multiply swfs
我有兩個瑞士法郎:
主要思想是在特定域上具有一個p2p加載程序,該加載程序將能夠在p2p網絡中工作,而無需多次詢問每個域的權限,例如:
p2p客戶端通過請求加載二進制數據,我相信內容確實無關緊要。
因此,我使用以下類( app.swf )加載p2pclient swf
public class ClientLoader {
// .. some code
public function load(cb:Function, err:Function):void
{
_cb = cb;
_err = err;
var loader:Loader = new Loader();
loader.contentLoaderInfo.addEventListener(Event.COMPLETE, _onLoaded);
loader.contentLoaderInfo.addEventListener(IOErrorEvent.IO_ERROR, _onIoError);
loader.contentLoaderInfo.addEventListener(SecurityErrorEvent.SECURITY_ERROR, _onSecurityError);
// note that context has neither application domain nor security domain
loader.load(new URLRequest(_url), new LoaderContext());
}
private function _onLoaded(e:Event):void
{
trace("Loaded. Connecting to the p2p network...");
_client = e.target.content;
_client.addEventListener(Event.CONNECT, _onClientReady);
_client.connect();
}
private function _onClientReady(e:Event):void
{
_cb(_client);
}
}
}
p2pclient本身( p2pcli.swf ):
public class P2P extends Sprite
{
public function SqP2P() {
Security.allowDomain("*");
}
public function connect():void
{
_connection = new NetConnection();
_connection.addEventListener(NetStatusEvent.NET_STATUS, _netStatus);
_connection.connect(CIRRUS_ADDRESS, CIRRUS_KEY);
// after successful connect this method called
_loadGroup();
}
private method _loadGroup():void
{
var spec:GroupSpecifier = new GroupSpecifier(_name);
spec.serverChannelEnabled = true;
spec.objectReplicationEnabled = true;
_group = new NetGroup(connection, spec.groupspecWithAuthorizations());
_group.addEventListener(NetStatusEvent.NET_STATUS, _netStatus);
}
private function _netStatus(event:NetStatusEvent):void
{
trace("NetStatusEvent:", event.info.code);
}
}
但是看起來Flash Player忽略了安全會話,並嘗試保存app.swf所屬域的彈出設置,但不保存p2pcli.swf域的彈出設置。 為什么?!
我有完全相同的代碼,但是p2pcli.swf替換為將數據存儲在本地共享對象中的swf,所有domain1-2-N.com都可以訪問它。
有任何想法嗎?
我知道,我的英語很爛:(
我確實不太確定,但是我會把答案扔出去,以防不時有用。
基於此類安全消息的一般用途,我不完全確定您可以阻止該對話框顯示。 在某些情況下,我確定對等網絡可能會對某些人造成安全風險(無論如何,它正在使用他們的帶寬。)用於打開和關閉該通知的設置是在用戶端的Flash設置對話框中( Windows 7中的控制面板...),因此暗示它本質上是硬連線到Flash平台中的。
當然,由於我是Adobe AIR的專家,所以我可能完全錯了……為了您的項目,我真誠地希望自己!
而且,根據記錄,您的英語幾乎是完美的。 為了清楚起見,我對一個段落進行了調整,但除此之外,請注意。 :d
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.