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