| |||||||
Du magst keine Werbung? Wir auch nicht!
Einfach registrieren und die Werbung ist weg. Diese Nachricht sehen nur nicht registrierte Nutzer.
![]() |
| | LinkBack | Themen-Optionen | Ansicht |
| | #1 (permalink) |
| Neuer User Registriert seit: Oct 2008
Beiträge: 8
| Flash-Socket anwendung geht nicht im Browser
Huhu ihr Lieben, ich hab hier aus einem anderen Beitrag ein xml-socket script gefunden als anwendung klappt das ganze auch super, nur leider nicht, wenn ich es im browser aufrufe, sowohl über server als auch ganz normal über das dateisystem.Code: stop();
_root.hostname = "localhost";//Connectdomain Config
_root.port = "843";// Connectport Config
myXML = new XMLSocket();
myXML.onConnect = handleConnect;
myXML.onXML = handleXML;
myXML.onClose = handleDisconnect;
myXML.connect("localhost", 843);
function handleConnect(connectionStatus) {
connectionStatus ? trace("Connected.") : trace("Connection failed.");
}
function handleXML(xmlObject) {
trace("Object recieved:: "+xmlObject);
}
function sendXML(textToSend) {
myXML.send(textToSend);
}
function handleDisconnect() {
trace("Connection lost.");
}
function closeConnection() {
trace("Closing connection to server.");
myXML.close();
}
sendXML("test"); ?
|
| | |
| | #3 (permalink) |
| Neuer User Registriert seit: Oct 2008
Beiträge: 8
|
ja sicher.... ich hab ja auch einen socket server geschrieben. nur mit dem flash sockets komm ich nicht klar. wie gesagt, wenn ich es im flashplayer starte läuft das super, nur wenn ich es in die webseite einbinde klappt das nicht. das mit der PolicyFile hab ich nun auch schon gemacht. Der server sendet die jetzt auch zurück, leider ohne effekt.
|
| | |
| | #5 (permalink) |
| Neuer User Registriert seit: Oct 2008
Beiträge: 8
|
hab jetzt auch noch eine im root ordner des webservers abgelegt mit dem inhalt: Code: <?xml version="1.0"?>
<!DOCTYPE cross-domain-policy SYSTEM "http://www.adobe.com/xml/dtds/cross-domain-policy.dtd">
<cross-domain-policy>
<allow-access-from domain="*"/>
</cross-domain-policy> |
| | |
| | #6 (permalink) |
| Neuer User Registriert seit: Oct 2008
Beiträge: 8
|
Ok, hab nochmal etwas rumgebastelt: Code: import XMLSocketExample;
var Client:XMLSocketExample = new XMLSocketExample();
Client.send("Bla"); das ist der code für den film.dann gibts noch eine kleine as datei: Code: package {
import flash.display.Sprite;
import flash.events.*;
import flash.net.Socket;
public class XMLSocketExample extends Sprite {
private var hostName:String = "localhost";
private var port:uint = 843;
private var socket:Socket;
public function XMLSocketExample() {
socket = new Socket();
socket.connect(hostName, port);
}
public function send(data:String):void {
socket.writeUTFBytes(data);
socket.flush();
}
}
} der server sendet das zurück: Code: <?xml version="1.0"?> <!DOCTYPE cross-domain-policy SYSTEM "http://www.adobe.com/xml/dtds/cross-domain-policy.dtd"> <cross-domain-policy> <site-control permitted-cross-domain-policies="master-only"/> <allow-access-from domain="*" to-ports="*" /> </cross-domain-policy> ?
|
| | |
| | #7 (permalink) |
| aus Berlin Registriert seit: Feb 2002 Ort: Berlin
Beiträge: 516
|
wenn du crossdomain Abfrage mit allen anderen Sachen kombinieren willst wird das etwas kompliziert sein. Crossodmain hat mit deinem Socket eigentlich wenig gemeinsam ... die Crossdomain Daten braucht ja nur der Flashplayer nimm einfach crossdomain.xml wenn du so eine Möglichkeit hast. Ich habe mal vor ca. 2 Jahren ein XMLSocket Server in C# programmiert und habe mich damit auch eine Weile rumgeschlagen. |
| | |
| | #8 (permalink) |
| Neuer User Registriert seit: Oct 2008
Beiträge: 8
|
wie meinste ich soll nur die crossdomain.xml nehmen? soweit ich es verstanden habe, lädt flash diese ja durch den server. ps: es wird immer komischer. der ie7 sendet 1x was an den server danach nicht mehr und der ff macht erst was, wenn man den zu macht .
|
| | |
| | #9 (permalink) | |
| aus Berlin Registriert seit: Feb 2002 Ort: Berlin
Beiträge: 516
|
ich habe schon geschrieben suche hier im Forum nach crossdomain oder crossdomain.xml dann verstehst du auch was ich meine. Ich will nicht das erklären was schon 1000000 mal überal im Netz steht ![]() Zitat:
Geändert von ArBr (21-07-2009 um 16:56 Uhr) | |
| | |
| | #10 (permalink) |
| Neuer User Registriert seit: Oct 2008
Beiträge: 8
|
ok, scheinbar klappts nun, ka wieso das einzige problem was ich noch habe ist, das der erst verbindungen zum server zulässt, nachdem der ganze film durchgelaufen ist. sprichCode: import XMLSocketExample;
import flash.system.Security;
this.loaderInfo.addEventListener(Event.COMPLETE, onInhaltGeladen);
var Client:XMLSocketExample = null;
function onInhaltGeladen(e:Event){
Security.allowDomain("*");
Security.loadPolicyFile("xmlsocket://127.0.0.1:843");
Client = new XMLSocketExample();
Client.send("Hallo Server!");
} wenn ich ein button mache und da den code reinschreibe und dann darauf klicke gehts. ich möchte das aber automatisch haben. das Event.COMPLETE scheint aber zu früh aufgerufen zu werden ![]() edit: außerdem fragt der flash-client 2x nach der PolicyFile. einmal wenn ich Security.loadPolicyFile("xmlsocket://127.0.0.1:843"); aufrufe und einmal wenn alles geladen wurde... Geändert von EnemyArea (21-07-2009 um 18:06 Uhr) |
| | |
![]() |
| Lesezeichen |
| Themen-Optionen | |
| Ansicht | |
| |