Flashhilfe.de - Flash Community

Flash mit Socket Server über Inet verbinden [Flash 9]

 


AntwortenRegistrieren Seite1  

lachskopf#1
Benutzerbild von lachskopf
Beiträge: 33
Registriert: Oct 2008

12.06.2011, 15:45

Hallo,

ich möchte mich gerne mit AS3 zu meinem Socket Server verbinden. Ich hab auf meinem anderen Rechner einen Socket Server mit Netbeans und Java nach diesem Tutorial programmiert:
http://www.giantflyingsaucer.com/blog/?p=205
(Das wirklich super!) Das funktioniert auch alles prima im Netzwerk.
Will ich das jetzt aber über Internetz machen gehts nicht. Ich hab sowohl im AS3 Code als auch im Java Code die Ports auf 21 gesetzt und versucht mich mit der InternetAdresse des Server Rechners zu verbinden.
An meinem Router habe ich eine Portfreigabe gemacht für Port 21 TCP an Ip Adresse 192.168.178.35 (Netzwerk Ip meines Rechners wo der Server läuft).
Wie gesagt es passiert leider garnix. Kann mir jemand weiterhelfen?

Liebe Grüße Lachskopf :D
Werbung
Beiträge: 0
Registriert: Feb 2016


lachskopf#2
Benutzerbild von lachskopf
Beiträge: 33
Registriert: Oct 2008

Themenautor/in

12.06.2011, 22:28

Hallo,

also mittlerweile ist es mir gelungen mich über Internet zu verbinden. Habe den Server komplett umgekrempelt.
Wenn ich mein Spiel jetzt in CS3 ausführe oder auch die .swf Datei direkt öffnene funktioniert alles wunderbar.
Aber wenn ich das in eine Html packe wird lokal garkeine Verbindung hergestellt zum Server hergestellt. Und wenn ich dann die Dateien auf meinen Webserver lade bekomm ich von meinem Socket Server die Fehlermeldung: StringIndexOutOfBoundsException.

Woran liegt es das wenn ich die Flash Datei direkt öffne alles klappt und sobald ich es im Browser ausführe nix mehr geht?
stealth_axg#3
Benutzerbild von stealth_axg
Beiträge: 172
Wohnort: Wiesbaden
Registriert: May 2009

14.06.2011, 15:59

Das könnte es sein: Link
Actionscript...O.o?.... Ist das ein neues Gewürz, was stinkt?!

API für C++ & Java
lachskopf#4
Benutzerbild von lachskopf
Beiträge: 33
Registriert: Oct 2008

Themenautor/in

14.06.2011, 16:44

naja aber wenn ich es in Flash CS3 ausführe dann funktionierts ja. Und in der Html ist ja eigentlich nix das, dass blocken könnte?
Werbung
Beiträge: 0
Registriert: Feb 2016


skoda#5
Benutzerbild von skoda
Beiträge: 1189
Wohnort: Boston MA
Registriert: Feb 2006

14.06.2011, 17:17

poste mal wie du das flash in die html einbettest
und vor allem den parameter zur domain
no one died when clinton lied
lachskopf#6
Benutzerbild von lachskopf
Beiträge: 33
Registriert: Oct 2008

Themenautor/in

14.06.2011, 17:24

Ich benutze zum testen immer nur das Konstrukt von CS3:
ActionScript:
1
2
3
4
5
6
7
8
9
10
11
   <object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=9,0,0,0" width="550" height="400" id="spieler2" align="middle">

   <param name="allowScriptAccess" value="always" />
   <param name="allowFullScreen" value="false" />
   <param name="movie" value="spieler2.swf" />
<param name="quality" value="high" />
<param name="bgcolor" value="#ffffff" />   

<embed src="spieler2.swf" quality="high" bgcolor="#ffffff" width="550" height="400" name="spieler2" align="middle" allowScriptAccess="always" allowFullScreen="false" type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/go/getflashplayer" />

   </object>

<param name="allowScriptAccess" value="always" />
springer#7
Benutzerbild von springer
Beiträge: 4909
Wohnort: zuhaus
Registriert: Apr 2004

14.06.2011, 17:35

hi,
schon mal mit einer crossdomain.xml versucht?
lieber chips essen und danach voller zweifel sein, als voller zweifel chips essen...
lachskopf#8
Benutzerbild von lachskopf
Beiträge: 33
Registriert: Oct 2008

Themenautor/in

14.06.2011, 17:36

was ist das?
springer#9
Benutzerbild von springer
Beiträge: 4909
Wohnort: zuhaus
Registriert: Apr 2004

14.06.2011, 17:37

öhm.....

LINK
lieber chips essen und danach voller zweifel sein, als voller zweifel chips essen...
lachskopf#10
Benutzerbild von lachskopf
Beiträge: 33
Registriert: Oct 2008

Themenautor/in

14.06.2011, 17:41

hmmmm... tut mir leid. aber ich verstehe nicht wie das mein Problem lösen soll.
skoda#11
Benutzerbild von skoda
Beiträge: 1189
Wohnort: Boston MA
Registriert: Feb 2006

14.06.2011, 17:53

<param name='AllowScriptAccess' value='always'/>

versuch mal das in dem ebed code
EDIT haste ja schon hmmm
no one died when clinton lied
Geändert von skoda am 14.06.11 um 18:02 Uhr
springer#12
Benutzerbild von springer
Beiträge: 4909
Wohnort: zuhaus
Registriert: Apr 2004

14.06.2011, 19:48

ich denke du hast ein security problem, wie auch stealth_axg schon drauf hingewiesen hat....
daher denke ich, könnte die crossdomain.xml weiterhelfen. flash selber hat restriktionen was das laden, senden von daten von anderen urls angeht...

ansonsten könntest du mal dein script, was das verbinden mit dem socketserver angeht zeigen, sonst müssen hier alle raten.. ,-)
lieber chips essen und danach voller zweifel sein, als voller zweifel chips essen...
Geändert von springer am 14.06.11 um 19:51 Uhr
lachskopf#13
Benutzerbild von lachskopf
Beiträge: 33
Registriert: Oct 2008

Themenautor/in

14.06.2011, 20:30

ActionScript:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
package socketserver;


import java.net.*;
import java.io.*;

  class SocketServer {
       public static void main(String[] args) {
          SocketServer server = new SocketServer();
          try {
              server.test();
          } catch (IOException e) {
              e.printStackTrace();
          }
      }
      void test() throws IOException {
 
          int port = 1234;
          java.net.ServerSocket serverSocket = new java.net.ServerSocket(port);
          java.net.Socket client = warteAufAnmeldung(serverSocket);
          java.net.Socket client2 = warteAufAnmeldung(serverSocket);
          while(true){
 
          String nachricht = leseNachricht(client);
          String nachricht2 = leseNachricht(client2);
          schreibeNachricht(client, "1,");
          schreibeNachricht(client, nachricht);
         
          schreibeNachricht(client, "2,");
          schreibeNachricht(client, nachricht2);
         
          schreibeNachricht(client2, "1,");
          schreibeNachricht(client2, nachricht);
          schreibeNachricht(client2, "2,");
          schreibeNachricht(client2, nachricht2);
         
          }
      }
      java.net.Socket warteAufAnmeldung(java.net.ServerSocket serverSocket) throws IOException {
          java.net.Socket socket = serverSocket.accept();
          return socket;
      }
      String leseNachricht(java.net.Socket socket) throws IOException {
          String nachricht=new String();
          BufferedReader bufferedReader =
              new BufferedReader(
                  new InputStreamReader(
                      socket.getInputStream()));
          char[] buffer = new char[200];
          int anzahlZeichen = bufferedReader.read(buffer, 0, 200);
 
          nachricht = new String(buffer, 0, anzahlZeichen);
 
          return nachricht;
      }
      void schreibeNachricht(java.net.Socket socket, String nachricht) throws IOException {
          PrintWriter printWriter =
              new PrintWriter(
                  new OutputStreamWriter(
                      socket.getOutputStream()));
          printWriter.print(nachricht);
          printWriter.flush();
      }
}


Einmal der Server und die Flash Dateien habe ich mit angehängt.

Der Fehler wird hier ausgeworfen:
nachricht = new String(buffer, 0, anzahlZeichen);
String index out of range -1

hoffe das hilft euch weiter!

Angehängte Dateien:
Komprimierte Datei flash.rar12.62 KB
Geändert von lachskopf am 14.06.11 um 20:30 Uhr

AntwortenRegistrieren Seite1  

Schnellantwort

Du musst registriert sein, um diese Funktion nutzen zu können.

 
Ähnliche Beiträge zum Thema
Partner Webseiten: art-and-law.de  Mediengestalter.info   php-resource.de   phpforum.de   phpwelt.de   Pixelio.de   Scubacube.de  
Haftungsausschluss   Datenschutzerklärung   Hier Werben   Impressum
© 1999-2019 Sebastian Wichmann - Flashhilfe.de