| |||||||
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: Dec 2011
Beiträge: 1
|
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();
}
} 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! |
| | |
![]() |
| Lesezeichen |
| Stichworte |
| java, policy, socket, xml |
| Themen-Optionen | |
| Ansicht | |
| |
Ä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 |