Un attimo, premesso che non mi funziona nemmeno su localhost ma solo se lo lancio da flash, però quello ke volevo capire era se da webserver (non in locale) si riesce a far funzionare questi socket. io devo gestire una serie di IP diversi in base allutente ke si logga, e lutente si logga ad un aggeggino ke si chiama proprio "socket", il quale si interfaccia a dei registratori di cassa... a me questa cosa serve per far partire degli scontrini da web... So ke sono pazzo ma è così..Però non mi
va 
qui posto il codice del package :
Code:
package {
import flash.display.Sprite;
import flash.text.*;
import flash.system.Security;
import flash.net.*;
import flash.events.*;
import flash.errors.*;
public class SocketExample extends Sprite {
public function SocketExample() {
Security.loadPolicyFile( "http://dominiocrossdomain.xml" );
var socket:CustomSocket = new CustomSocket("XXX.XXX.XXX.X",XX);
CustomSocket.resultext=this;
connessione.text="NON CONNESSO";
}
}
}
import flash.errors.*;
import flash.events.*;
import flash.net.Socket;
import flash.text.*;
class CustomSocket extends Socket {
private var response:String;
public static var resultext;
public function CustomSocket(host:String = null, port:uint = 0) {
super(host, port);
configureListeners();
}
private function configureListeners():void {
addEventListener(Event.CLOSE, closeHandler);
addEventListener(Event.CONNECT, connectHandler);
addEventListener(IOErrorEvent.IO_ERROR, ioErrorHandler);
addEventListener(SecurityErrorEvent.SECURITY_ERROR, securityErrorHandler);
addEventListener(ProgressEvent.SOCKET_DATA, socketDataHandler);
}
private function writeln(str:String):void {
str += "\n";
try {
writeUTFBytes(str);
}
catch(e:IOError) {
trace(e);
}
}
private function sendRequest():void {
trace("sendRequest");
resultext.connessione.text="SENDING";
response = "CIAO CIAO";
writeln("GET /");
flush();
}
private function readResponse():void {
var str:String = readUTFBytes(bytesAvailable);
response += str;
}
private function closeHandler(event:Event):void {
trace("closeHandler: " + event);
resultext.connessione.text="CLOSED";
trace(response.toString());
}
private function connectHandler(event:Event):void {
resultext.connessione.text="CONNECTING";
trace("connectHandler: " + event);
sendRequest();
}
private function ioErrorHandler(event:IOErrorEvent):void {
trace("ioErrorHandler: " + event);
resultext.connessione.text="ERROR";
}
private function securityErrorHandler(event:SecurityErrorEvent):void {
trace("securityErrorHandler: " + event);
resultext.connessione.text="ERROR SECURITY";
}
private function socketDataHandler(event:ProgressEvent):void {
trace("socketDataHandler: " + event);
resultext.connessione.text="ANSWERED";
readResponse();
}
}
Bookmarks