1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57
|
public function RawSocket( hostname:String="localhost", port:uint=8080 )
{
_hostname = hostname;
_port = port;
_rawSocket = new Socket();
}
public function connect():void
{
_addListeners();
_rawSocket.connect( _hostname, _port );
}
private function _addListeners():void
{
_rawSocket.addEventListener(Event.CLOSE, closeHandler);
_rawSocket.addEventListener(Event.CONNECT, connectHandler);
_rawSocket.addEventListener(ProgressEvent.SOCKET_DATA, socketDataHandler);
_rawSocket.addEventListener(IOErrorEvent.IO_ERROR, ioErrorHandler);
_rawSocket.addEventListener(SecurityErrorEvent.SECURITY_ERROR, securityErrorHandler);
}
private function connectHandler(event:Event):void {
logger.log("connectHandler: " + event,this);
sendRequest();
}
private function sendRequest():void {
logger.log("sendRequest");
_response = "";
writeln("GET /");
_rawSocket.flush();
}
private function writeln( str:String):void {
str += "\n";
try {
_rawSocket.writeUTFBytes(str);
}
catch(e:IOError) {
logger.log(e);
}
}
private function socketDataHandler( event:ProgressEvent ):void {
logger.log("socketDataHandler: " + event);
var str:String = _rawSocket.readUTFBytes( _rawSocket.bytesAvailable );
logger.log("socketDataHandler str: " + str, this);
var t:Text = new Text();
t.text = _response;
MainApplication.GLOBAL_STAGE.addChild(t);
} |
Partager