Flash CS3 - Flash CS4

Free tutorials and scripts for all.
Actionscript 3.0

Classe Socket

This is a discussion on Classe Socket within the Actionscript 3.0 avanzato forums, part of the Flash CS3 generale category; Salve a tutti, ho bisogno di ricevere su socket TCP delle informazioni sotto forma di stringa da un'applicazione SERVER (...


Go Back   Forum Flash CS3 Flash CS4 > Flash CS3 e Actionscript 3.0 > Flash CS3 generale > Actionscript 3.0 avanzato

Register FAQ Members List Calendar Search Today's Posts Mark Forums Read
  #1 (permalink)  
Old 24-09-08, 13:37
Junior Member
 
Join Date: Sep 2008
Posts: 4
Rep Power: 0
enefein is on a distinguished road
Classe Socket

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 13:39..
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!
Reply With Quote

  #2 (permalink)  
Old 24-09-08, 18:20
Silver55's Avatar
Junior Member
 
Join Date: Sep 2008
Posts: 9
Rep Power: 0
Silver55 is on a distinguished road
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
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!
Reply With Quote

Reply

Bookmarks

Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are On
Forum Jump

Similar Threads

Thread Thread Starter Forum Replies Last Post
Actionscript 3 Classe stage kaos Actionscript 3.0 base 3 30-08-08 07:25
Actionscript 3 sandbox, policyfile e socket z4g0 Actionscript 3.0 avanzato 0 26-06-08 15:23
Classe ExternalInterface ulisse46 Actionscript 3.0 avanzato 0 04-04-08 02:17
as3 ed i socket Enzuccio Actionscript 3.0 avanzato 23 05-02-08 08:40
ftp client & socket nootropic.kint Actionscript 3.0 avanzato 1 04-12-07 17:21


All times are GMT. The time now is 07:52.


Powered by vBulletin versione 3.7.4
Copyright ©2000 - 2008, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0 RC4
Forum SiteMap


FlepStudio
by Filippo Lughi
P.IVA 03605860406