socket
♥0 |
Line 83 |
Modified 2011-09-16 08:32:22 |
MIT License
archived:2017-03-20 04:39:18
ActionScript3 source code
/**
* Copyright yurji ( http://wonderfl.net/user/yurji )
* MIT License ( http://www.opensource.org/licenses/mit-license.php )
* Downloaded from: http://wonderfl.net/c/ssBJ
*/
package Socket
{
import flash.display.Sprite;
import flash.events.Event;
import flash.events.IOErrorEvent;
import flash.events.KeyboardEvent;
import flash.events.ProgressEvent;
import flash.events.SecurityErrorEvent;
import flash.net.Socket;
import flash.text.*;
import flash.ui.Keyboard;
public class Main extends Sprite
{
private var socket:Socket;
private var textView:TextField;
private var textBoard:TextField;
public function Main()
{
textView = addTextField( 5, 10, 230, 190 );
textBoard = addTextField( 5, 200, 230, 20 );
socket = new Socket( "127.0.0.1", 9000 );
socket.addEventListener( Event.CONNECT, onConnect );
socket.addEventListener( Event.CLOSE, onClose );
socket.addEventListener( SecurityErrorEvent.SECURITY_ERROR, onSecurtyError );
socket.addEventListener( IOErrorEvent.IO_ERROR, onIOError );
socket.addEventListener( ProgressEvent.SOCKET_DATA, onRead );
addEventListener( KeyboardEvent.KEY_DOWN, onWriteBoard );
}
public function onConnect( event:Event ):void
{
writeView( "server connected" );
}
public function onClose( event:Event ):void
{
writeView( "server close" );
}
public function onSecurtyError( ev:Event ):void
{
writeView( "Security error." );
}
public function onIOError( ev:Event ):void
{
writeView( "IOError." );
}
public function onRead( event:Event ):void
{
writeView( socket.readUTFBytes( socket.bytesAvailable ) );
}
public function onWriteBoard( event:KeyboardEvent ):void
{
if( !socket.connected ) return;
if( event.keyCode == Keyboard.ENTER )
{
socket.writeUTFBytes( textBoard.text );
socket.flush();
textBoard.text = '';
}
}
public function writeView( str:String ):void
{
if( textView.text == '' )
{
textView.text = str;
}
else
textView.text = textView.text + '\n' + str;
}
private function addTextField( x:int, y:int, w:uint, h:uint ):TextField
{
var textField:TextField = new TextField();
addChild( textField );
textField.x = x;
textField.y = y;
textField.width = w;
textField.height = h;
textField.text = "";
textField.selectable = true;
textField.border = true;
textField.type = TextFieldType.INPUT;
return textField;
}
}
}