nodejsで書かれたソケットサーバー用のFlashAS3でソケットクライアントを作成しようとしています。私はそれと通信するモバイルアプリクライアントも持っています。AS3 XMLSocketはWIN EXEでは動作しますが、SWFでは動作しません
AS3では、Windows EXEファイルを公開して実行すると完全に動作するテストコードを書きましたが、SWFに公開してブラウザで開くとサーバーに接続しません。 「輸入」のすべてが役に立たない。コード:
import flash.system.Security;
import flash.net.XMLSocket;
import flash.events.Event;
import flash.events.IOErrorEvent;
import flash.events.SecurityErrorEvent;
import flash.events.DataEvent;
var xmlSocket:XMLSocket = new XMLSocket();
xmlSocket.connect("myserverhost", 88);
xmlSocket.addEventListener(DataEvent.DATA, onIncomingData);
send_btn.addEventListener(MouseEvent.CLICK, clickHandler);
disconnect_btn.addEventListener(MouseEvent.CLICK, disconnectHandler);
function clickHandler(event:MouseEvent):void
{
xmlSocket.send(input_txt.text);
input_txt.text = "";
}
function disconnectHandler(event:MouseEvent):void
{
xmlSocket.close();
send_btn.enabled = false;
}
function onIncomingData(event:DataEvent):void
{
var items:Object = JSON.decode(event.data);
for (var index in items) {
trace(index+" => "+items[index]);
}
if(items['hello']){
output_txt.text += items['hello'] + "\n";
}
else if(items['description']){
output_txt.text += items['description'] + "\n";
} else {
output_txt.text += event.data + "\n";
}
output_txt.verticalScrollPosition = output_txt.maxVerticalScrollPosition;
}
は、私がグーグルとcrossdomain.xmlファイルを作成するために助言を見つけましたが、それは動作しませんされており、これは、それは次のとおりです。
<?xml version="1.0"?>
<!DOCTYPE cross-domain-policy SYSTEM "/xml/dtds/cross-domain-policy.dtd">
<cross-domain-policy>
<allow-access-from domain="*" to-ports="*" secure="false"/>
</cross-domain-policy>
問題は、私は、ファイルのようにlocalhostのドメインにブラウザ でSWFの\ HTMLを開いたということでした/ユーザ/ 私はそれをサーバーに転送さ - それは失敗停止が、それでも、それはメッセージを取得することはできませんサーバーから – user1060667