Zurück   Flashforum > Flash > ActionScript > ActionScript 3

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 08-04-2011, 08:59   #31 (permalink)
Koda ;)
 
Benutzerbild von badnoob
 
Registriert seit: Oct 2010
Ort: Hannover
Beiträge: 213
muesste
mySocket.addEventListener
heissen, sonst duerfte dir der compiler auch fehler schmeissen.
badnoob ist offline   Mit Zitat antworten
Alt 08-04-2011, 12:37   #32 (permalink)
Neuer User
 
Registriert seit: Mar 2010
Beiträge: 146
Ich komme irgentwie nicht weiter,
ich habe das nun so gelöst,
local funktionierts aber per server nur teilweise, es kommen die nachrichten beim JavaServer
Waiting for FlashClient No.1 ...
Waiting for FlashClient No.2 ...
Two FlashClients connected!
Also verbindung ist hergestellt doch die Daten werden nicht übermittelt...

Hier mal das gesamte ding:

AS
PHP-Code:
import flash.net.Socket;
var 
mySocket = new Socket("79.***.**.**"2005);

mySocket.addEventListener(IOErrorEvent.IO_ERRORioErrorHandler);
mySocket.addEventListener(SecurityErrorEvent.SECURITY_ERRORsecurityErrorHandler);



this.stage.addEventListener(MouseEvent.MOUSE_MOVEpositionanderung);
function 
positionanderung (event:MouseEvent) {
    
mySocket.writeUTFBytes(mouseX+","+mouseY+"k");
    
mySocket.flush();
}


 
mySocket.addEventListenerProgressEvent.SOCKET_DATAsocketDataHandler);
 
 function 
socketDataHandler(event:ProgressEvent):void 
     

    var 
message:String mySocket.readUTFBytes(mySocket.bytesAvailable);    
    var 
contre:Array = message.split("k");
    var 
tel:String contre[0];
    var 
contentArray:Array = tel.split(",");
    
    
anderemaus.contentArray[0];
    
anderemaus.contentArray[1];
    
ausgabefeld.text "x="+contentArray[0]+" y="+contentArray[1];
    
}
        
            function 
ioErrorHandler(event:IOErrorEvent):void {
        
trace("ioErrorHandler: " event);
    }

    function 
securityErrorHandler(event:SecurityErrorEvent):void {
        
trace("securityErrorHandler: " event);
    } 
JAVA
PHP-Code:
import java.net.*;
import java.io.*;

public class 
miniChat {

 public static 
void main (String args[]) throws IOException {

  
ServerSocket mySocketServer = new ServerSocket(2005); // Hier PORT

  
System.out.print("Waiting for FlashClient No.1 ...\n");
  
Socket mySocket1 mySocketServer.accept(); 

  
System.out.print("Waiting for FlashClient No.2 ...\n");
  
Socket mySocket2 mySocketServer.accept();

  
System.out.print("Two FlashClients connected!\n\n");

  
mySocketServer.close();   

  
InputStream in1 mySocket1.getInputStream();
  
OutputStream out1 mySocket1.getOutputStream();

  
InputStream in2 mySocket2.getInputStream();
  
OutputStream out2 mySocket2.getOutputStream();
    
  
byte buffer[] = new byte[2048];
  
int i=0d=0;

  while (
i>-1)
  {
    if (
in1.available()>0) {
      
in1.read(buffer);
      
out2.write(buffer0i);
    }
    if (
in2.available()>0) {
      
in2.read(buffer);
      
out1.write(buffer0i);
    }
  }

  
in1.close();
  
out1.close();
  
in2.close();
  
out2.close();
  
mySocket1.close();
  
mySocket2.close();
  
 }

DennisG ist offline   Mit Zitat antworten
Alt 08-04-2011, 12:43   #33 (permalink)
Koda ;)
 
Benutzerbild von badnoob
 
Registriert seit: Oct 2010
Ort: Hannover
Beiträge: 213
omg, denkst du ernsthaft, nur weil
Waiting for FlashClient No.1 ...
Waiting for FlashClient No.2 ...
Two FlashClients connected!
in der console steht, sind die clients verbunden?

wundert mich eh, dass das javateil so funzt, aber auch dort solltest du fehlerhandling einbauen. ohne fehlerhandling keine debug messages.
badnoob ist offline   Mit Zitat antworten
Alt 08-04-2011, 12:53   #34 (permalink)
Neuer User
 
Registriert seit: Mar 2010
Beiträge: 146
Zitat:
Zitat von badnoob Beitrag anzeigen
omg, denkst du ernsthaft, nur weil
Waiting for FlashClient No.1 ...
Waiting for FlashClient No.2 ...
Two FlashClients connected!
in der console steht, sind die clients verbunden?

wundert mich eh, dass das javateil so funzt, aber auch dort solltest du fehlerhandling einbauen. ohne fehlerhandling keine debug messages.
mit try und catch oder wie?
Java ist nicht so mein gebiet
DennisG ist offline   Mit Zitat antworten
Alt 08-04-2011, 13:02   #35 (permalink)
Neuer User
 
Registriert seit: May 2008
Beiträge: 109
den Socket per mySocketServer.close(); nach 2 Connects zu schliessen ist für die Kommunikation Server <-> Client nicht förderlich ;-)

PHP-Code:
System.out.print("Waiting for FlashClient No.2 ...\n"); 
geht auch mit

PHP-Code:
System.out.println("Waiting for FlashClient No.2 ..."); 
du solltest bei google nach "java multithreaded socket server example" suchen oder dich über java NIO + sockets erkundigen
Wakka ist offline   Mit Zitat antworten
Alt 08-04-2011, 14:19   #36 (permalink)
Neuer User
 
Registriert seit: Mar 2010
Beiträge: 146
Zitat:
Zitat von Wakka Beitrag anzeigen
du solltest bei google nach "java multithreaded socket server example" suchen oder dich über java NIO + sockets erkundigen
wofür soll das sein? :S
ist das dafür das mehrere personen gleichzeitig sich connecten können? :S
DennisG ist offline   Mit Zitat antworten
Alt 08-04-2011, 15:08   #37 (permalink)
Neuer User
 
Registriert seit: May 2008
Beiträge: 109
ja dafür und damit man nicht so ein Konstrukt hat

PHP-Code:
while (i>-1)
  {
    if (
in1.available()>0) {
      
in1.read(buffer);
      
out2.write(buffer0i);
    }
    if (
in2.available()>0) {
      
in2.read(buffer);
      
out1.write(buffer0i);
    }
  } 
gibt nix schlimmeres als eine while schleife die die cpu blockiert
Wakka ist offline   Mit Zitat antworten
Alt 08-04-2011, 21:07   #38 (permalink)
Neuer User
 
Registriert seit: Mar 2010
Beiträge: 146
Hab da was interesantes gefunden:
PHP-Code:
import java.io.*;
import java.net.*;
import java.security.*;

/**
 * Title:        Sample Server
 * Description:  This utility will accept input from a socket, posting back to the socket before closing the link.
 * It is intended as a template for coders to base servers on. Please report bugs to brad at kieser.net
 * Copyright:    Copyright (c) 2002
 * Company:      Kieser.net
 * @author B. Kieser
 * @version 1.0
 */

public class sample_server {

  private static 
int port=2005maxConnections=0;
  
  
// Listen for incoming connections and handle them 
  
public static void main(String[] args) {
      
System.out.println("START\n");
    
int i=0;

    try{
      
ServerSocket listener = new ServerSocket(port); 
      
Socket server;

   
      while((
i++ < maxConnections) || (maxConnections == 0)){ 
        
doComms connection;
        
server listener.accept();
        
doComms conn_c= new doComms(server);
        
Thread t = new Thread(conn_c);
        
t.start();
      }
    } catch (
IOException ioe) {
      
System.out.println("IOException on socket listen: " ioe);
      
ioe.printStackTrace();
    }
  }

}

class 
doComms implements Runnable {
    private 
Socket server;
    private 
String line,input;

    
doComms(Socket server) {
      
this.server=server;
    }

    public 
void run () {

      
input="";

      try {
        
// Get input from the client
        
DataInputStream in = new DataInputStream (server.getInputStream());
        
PrintStream out = new PrintStream(server.getOutputStream());
       
       
        while((
line in.readLine()) != null && !line.equals(",")) {
          
input=input line;         
          
out.println("I got:" line);
          
        }
        

        
// Now write to the client
        
        
System.out.println("Overall message is:" input);
        
out.println("Overall message is:" input);

        
server.close();
      } catch (
IOException ioe) {
        
System.out.println("IOException on socket listen: " ioe);
        
ioe.printStackTrace();
      }
    }

Ich versteh wie Daten von Java empfangen werden, aber ich versteh nicht ganz wie ich wieder Daten an den Client sende... und wo genau :S
Da steht zwar // Now write to the client aber wo genau? :S
DennisG ist offline   Mit Zitat antworten
Antwort

Lesezeichen

Stichworte
as3, flash, netzwerk, socket

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
Soket-Verbindung online! DIGIMan Flash mit XML und Webservices 3 12-09-2008 08:02
suche java oder java+flash entwickler zwecks austausch ballaballa Rund um Jobs 4 03-10-2006 22:34
kleiner Flashchat gesucht / Minichat dan2222 Flash 4 und Flash 5 2 11-09-2006 21:40
Java, java, java, kann java auch ne exe baun? Samuel Am Rande 4 19-10-2005 11:28
JAVA (kein java-script!!!) Festplattengröße auslesen??? FlasherTyp Am Rande 7 11-12-2002 12:08


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

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


Copyright ©1999 – 2012 Marc Thiele