Flash-XMLSocket-client keine Verbindung zum server
Ich habe einen Flash-client, der möchte ich mit einem server verbinden. Beide sind mit localhost und port 50000, so sollte es keine cross-domain-Probleme. Ich auch festlegen, dass der Zugriff Nur im Netzwerk der publishing-Einstellungen. Wenn ich rufen Sie die XMLSocket-Verbindung, der server scheint, um eine neue Verbindung. Aber die XMLSocket.die Software onConnect callback wird nicht aufgerufen, mit Erfolg=true.
Irgendwelche Ideen auf, was falsch sein kann?
Hier ist der ActionScript-Code zum erstellen der Steckdose.
function myOnConnect(success) {
if (success) {
trace ("Connection succeeded!")
inputText.text = "open";
// socket.send("1\n");
gotoAndPlay(2);
} else {
trace ("Connection failed!")
inputText.text = "failed";
}
}
btnConnect.onRelease = function()
{
inputText.text = "started";
result = socket.connect("localhost", 50000);
}
socket = new XMLSocket();
socket.onConnect = myOnConnect;
- Sieht gut aus, aber ich bin misstrauisch über "localhost". Versuchen Sie es mit null (pro ActionScript-Docs für ein "same machine" - Verbindung) und sehen, ob das funktioniert.
- Ich führen Sie es in der Flash debugger, und es verbindet sich sofort. Ich Frage mich, ob es eine Sicherheitseinstellung, die ich brauche, für Sie zu arbeiten in einem browser. Es funktioniert nicht in IE oder Firefox.
- Nur für funzies, ich habe auch versucht, die Umschaltung der Publishing-Einstellung nur auf Lokale Dateien Zugreifen. Hat nicht funktioniert.
- Mit null für die gleiche Maschine hat nicht funktioniert. Danke für die Idee, obwohl.
- Firewall vielleicht?
- Nie Verstand. Wenn Sie eine Verbindung herstellen können über die Flash-debugger, Konnektivität sollte kein Problem sein, wenn die Sicherheit noch sein könnte.
- Nach dem Graben um das Netz, fand ich diese zu socket-Richtliniendateien. Ich denke, das ist ein Problem. adobe.com/devnet/flashplayer/articles/socket_policy_files.html
- Ich fand diesen Artikel über policy-Dateien zu. gruchalski.com/2009/06/11/...
- Das ist lästig (und seltsam, dass es funktioniert im debugger aber nicht "live"). Lassen Sie mich wissen, wenn Sie die Dinge auf diese Weise (durch die Beantwortung der Frage, natürlich).
Du musst angemeldet sein, um einen Kommentar abzugeben.
Diese endete als ein Sicherheits-problem. Der Flash Player bietet zusätzliche Sicherheit, wenn eine XMLSocket-Verbindung verwendet wird. Der Flash-Player sucht nun nach einer Richtliniendatei an port 843. Eine alternative ist, um die swf-look für die policy-Datei mit der call -
Security.loadPolicyFile()
. Wenn die Datei vorhanden ist, und alle Sicherheits-Einstellungen erlauben Sie die XMLSocket-Verbindung auf, dann wird die Verbindung erstellt.Check-out die Adobe Artikel über Policy-Dateien und mehr info hier. Dies ist ein weiterer guter Artikel über policy-Dateien.
Hier ist die policy-Datei, die schließlich für mich gearbeitet. Es ist nicht restriktiv überhaupt. Aber, ich dachte, ich Dinge arbeiten, und dann machen Sie richtig.