Flash Gallery | Flash Templates | Flash Menu | Flash Design | Flash Audio & Video

Video Corsi Actionscript 3.0


+ Reply to Thread
Results 1 to 2 of 2

Thread: Classe Socket

  1. #1
    Junior Member Settled In enefein is on a distinguished road
    Join Date
    Sep 2008
    Posts
    4
    Rep Power
    0

    Classe Socket

    flash templates
    Salve a tutti,

    ho bisogno di ricevere su socket TCP delle informazioni sotto forma di stringa da un'applicazione SERVER (quindi in listening su una certa porta) già compilata e che non posso modificare (quindi no XML Socket).
    In base a questa stringa che può assumere n valori fissi voglio fare in modo che possano verificarsi ad una biforcazione nella storyline del mio file swf n eventi (-> animazioni) diversificati.

    Non trovo affatto esempi validi in rete, mi sembra che la classe Socket sia veramente poco in uso, e quel poco che ho trovato presenta per me troppi fronzoli che mi rendono difficile la comprensione del codice

    Qualcuno saprebbe aiutarmi?

    P.S.
    L'applicazione si troverà nello stesso dominio del file swf, nella fattispecie in localhost e potrò decidere tranquillamente su che porta lavorare.
    Last edited by enefein; 24-09-08 at 12:39.

  2. #2
    Senior Member Flash Obsessed Silver55 is on a distinguished road
    Join Date
    Sep 2008
    Posts
    157
    Rep Power
    3

    Re: Classe Socket

    Ciao,
    qui, un esempio "minimalista" per effettuare la connessione ad un Server via TCP. ...avviene solo un semplice scambio di messaggi di tipo stringa.....
    ( per il test : sullo stage sono presenti i due bottoni connessione ed invio ed una TextArea ) ...


    Code:
    // ............................................
    //  NAME : Client.fla
    //         Esempio di Client connesso ad un 
    //         Server (via TCP ) e scambio 
    //         messaggi
    // ..................................................... 
     
    // ..................................................... 
    import flash.text.TextField;
    import flash.text.TextFormat;
    import fl.controls.Button;
    import fl.controls.Label;
    // ..................................................... 
    import flash.errors.*;
    import flash.events.*;
    import flash.net.Socket;
    // ..................................................... 
     
    // ..................................................... 
    //  La Classe Socket...
    // ..................................................... 
    // La Classe Socket consente di effettuare 
    // e gestire una connessione via TCP/UDP con un 
    // Application Server...
    // 
    // ...es: HTTP, FTP, TELNET, SMTP, POP3, RMTP, 
    //    etc... etc...
    // 
    // ...ed anche con tutti i DBMS SERVER!
    //    MYSQL, ORACLE, etc...
    //   (qui, la cosa si complica un po', in quanto i 
    //    protocolli di comunicazione sono bytes oriented)
    //    
    // ...o un un qualsiasi Application Server che 
    //    attende su di un Server Socket:)
    // ...ovviamente :), se ci connettiamo ad uno di 
    //    questi Application Server o DB Server, dobbiamo 
    //    conoscere come comunicare, ovvero conoscere il 
    //    PROTOCOLLO di COMUNICAZIONE tra la nostra 
    //    Applicazione CLIENT e l'Applicazione SERVER... 
    // ...............................................................
     
    // ...............................................................
    //   Creazione Oggetto Socket
    // ...............................................................
    var Client_Socket = new Socket();
    // ...aggiunta ascoltatori eventi sul Socket tra Client e Server
    Client_Socket.addEventListener(Event.CONNECT, GestioneConnessione);
    Client_Socket.addEventListener(ProgressEvent.SOCKET_DATA, GestioneConversazione);
    // Client_Socket.addEventListener(Event.CLOSE, GestioneChiusura);
    // Client_Socket.addEventListener(IOErrorEvent.IO_ERROR, GestioneErrori);
    // Client_Socket.addEventListener(SecurityErrorEvent.SECURITY_ERROR, GestioneErroriSicurezza);
    // ...............................................................
     
    // ...............................................................
    //   BOTTONE : Btn_Connessione 
    //             aggiungi ascoltatore : ConnessioneServer() 
    // ...............................................................
    Btn_Connessione.addEventListener(MouseEvent.CLICK, ConnessioneServer);
    // ...............................................................
     
    // ...............................................................
    //  FUNCTION : ConnessioneServer()
    //             effettua la connessione con il Server  
    // ...............................................................
    function ConnessioneServer(me:MouseEvent):void
    {
     // ...effettua la Connessione con il Server JAVA : 
     //    
     //    indicare l'IP e la Porta ...su cui attende il Server 
     Client_Socket.connect("localhost", 5000);
    }
    // ...............................................................
     
    // ...............................................................
    //  FUNCTION : GestioneConnessione()
    //             ...avvenuta connessione con il Server
    // ...............................................................
    function GestioneConnessione(e:Event):void
    {
     // Connessione con il Server avvenuta!
     
     // ...questa funzione sara' richiamata all'avvenuta
     //    connessione con il Server...
     
     // trace("avvenuta connessione ");
    }
    // ...............................................................
     
    // ...............................................................
    //   BOTTONE : Btn_Invio
    //             aggiunta ascoltatore : InvioMessaggio() 
    // ...............................................................
    Btn_Invio.addEventListener(MouseEvent.CLICK, InvioMessaggio);
    // ...............................................................
     
    // ...............................................................
    //  FUNCTION : InvioMessaggio()
    //             Invio Messaggio al Server
    // ...............................................................
    function InvioMessaggio(me:MouseEvent):void
    {
     // ...Il contenuto del campo del TextFiled sara' 
     //    inviato al Server... 
     
     // ...al messaggio viene aggiunto il carattere '\n' new line 
     //    che indica la fine dei caratteri 
     
     // ...scrivi nel socket 
     Client_Socket.writeUTFBytes(msg_client.text + '\n');
     
     // ...spedisci (commit) 
     Client_Socket.flush();
    }
    // ...............................................................
     
    // ...............................................................
    //  FUNCTION : GestioneConversazione()
    //             Gestione del Flusso dei dati tra Client e Server 
    // ...............................................................
    function GestioneConversazione(e:ProgressEvent):void
    {
     // Questa funzione e' richiamata ogni qualvolta arrivano 
     // dati dal Server... 
     // ...per ora, tutto cio' che arriva visualizzalo nella TextArea 
     msg_server.text = msg_server.text + Client_Socket.readUTFBytes(Client_Socket.bytesAvailable + '\n');
    }
    // ...............................................................
     
    // ...............................................................
    //  FUNCTION : GestioneErrori()
    //             Gestione Errori di Connessione 
    // ...............................................................
    function GestioneErrori(e:IOErrorEvent):void
    {
     trace("errore durante la connessione con il Server");
    }
    // ...............................................................
    // ...end of my hard JOB

+ Reply to Thread

Similar Threads

  1. Socket Connection
    By epokesrl in forum Actionscript 3.0 avanzato
    Replies: 0
    Last Post: 05-07-10, 16:56
  2. as3 ed i socket
    By Enzuccio in forum Actionscript 3.0 avanzato
    Replies: 24
    Last Post: 28-09-09, 17:56
  3. Socket e restrizioni porte
    By Simona in forum Actionscript 3.0 avanzato
    Replies: 1
    Last Post: 02-04-09, 19:45
  4. sandbox, policyfile e socket
    By z4g0 in forum Actionscript 3.0 avanzato
    Replies: 0
    Last Post: 26-06-08, 14:23
  5. ftp client & socket
    By nootropic.kint in forum Actionscript 3.0 avanzato
    Replies: 1
    Last Post: 04-12-07, 16:21

Bookmarks

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts