Zurück   Flashforum > Flash und Server > Flash mit XML und Webservices

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 22-12-2011, 15:16   #1 (permalink)
Neuer User
 
Registriert seit: Dec 2011
Beiträge: 1
Unhappy Java <-> Flash Socket - PolicyDatei Problem

Moin Leute,

Ich weiß, dass schon viele dieses Problem gepostet haben, aber ich habe mich jetzt durch gefühlt 1 Mio. Forenbeitrage und Lösungen gelesen und es hat einfach nichts gefruchtet (auch wenn manche exakt dasselbe Problem hatten).

Wie der Titel schon sagt, versuche ich, per Sockets eine Verbindung von einem Flash-Client zu einem kleinen, von mir geschrieben Java-Server herzustellen. Das funktioniert auch sehr gut, solange ich es auf ein und demselben PC teste, wenn ich die .swf allerdings von einem Webserver aus aufrufe, verlangt diese ja zunächst eine Policy File vom Server. So weit so gut, doch hier stoße ich auf mein scheinbar unlösbares Problem. Normalerweise sollte der Flash-Client nach Erhalt der Datei dis- und dann sofort wieder reconnecten. Jedoch disconnected er bei mir einfach nur und es passiert nichts weiter.

Mein Server öffnet jedes mal einen neuen Thread, wenn ein Client connected, allerdings liegt es meines erachtens nicht daran, dass die Verbindung nicht zustande kommt.

Hier erstmal mein Code:

Code:
while (true) {
    connection = providerSocket.accept();
    System.out.println("Incoming connection from " + connection.getInetAddress().getHostName());
    BufferedReader in = new BufferedReader(new InputStreamReader(connection.getInputStream()));
    String request = in.readLine();
    if (request != null && request.contains("<policy-file-request/>")) {
        System.out.println("Authorization request.");
        PrintStream out = new PrintStream(connection.getOutputStream(), true);
        out.println("<?xml version=\"1.0\"?><cross-domain-policy><!DOCTYPE cross-domain-policy SYSTEM \"http://www.macromedia.com/xml/dtds/cross-domain-policy.dtd\"><allow-access-from domain=\"*\" to-ports=\"3002\" /></cross-domain-policy>\u0000");
        out.flush();
        System.out.println("AuthData sent.");
        connection.close();
        System.out.println("Authorization complete.");
        connection = providerSocket.accept();
        System.out.println("TEST");
        RequestProcessor c = new RequestProcessor(connection, connectionCounter++);
        Thread t = new Thread(c);
        t.start();
    }
    else {
        RequestProcessor c = new RequestProcessor(connection, connectionCounter++);
        Thread t = new Thread(c);
        t.start();
    }
}
Ihr werdet sicherlich bemerken, dass ich "\u0000" am Ende, anstelle von "\0", benutze, aber auch das hab ich schon ausprobiert und es hat nichts gebracht :/

Ich erreiche nicht einmal den "TEST"-Output, denn auch wenn ich die Verbindung selber beende (soll auch gehen), bekomme ich keine neue, warum auch immer

Das letzte, was ich ausprobiert habe, war, einfach die xml-Daten direkt nach Eingang einer neuen Verbindung zu senden (ohne zu prüfen, ob der Client sie überhaupt haben will), das bringt mir aber auch nichts außer einem "recv failed" - Error.

PS: Der RequestProcessor ist mein neuer Thread, in dem ich eigentlich die Abfragen vom Client verarbeiten würde...

Schonmal vielen Dank für die Hilfe!
BlkChockr ist offline   Mit Zitat antworten
Antwort

Lesezeichen

Stichworte
java, policy, socket, xml

Themen-Optionen
Ansicht

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks sind an
Pingbacks sind an
Refbacks sind an


Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
flash.net.Socket POST Daten Problem Booya ActionScript 3 0 12-03-2009 16:18
Java, Socket und Tomcat > Starten??? Chris1977 Server-Seite allgemein 4 15-05-2007 23:38
JAVA Socket Server moneyman Flash und Datenbanken 6 16-12-2002 15:26


Alle Zeitangaben in WEZ +1. Es ist jetzt 04:04 Uhr.

Domains, Webhosting & Vserver von Host Europe
Unterstützt das Flashforum!
Adobe User Group


Copyright ©1999 – 2012 Marc Thiele