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



LinkBack URL
About LinkBacks

Reply With Quote
Bookmarks