SockTest

by tepe
package {
import flash.display.Sprite;
import flash.text.*;
public class FlashTest extends Sprite {
private var s1:SockTest = new SockTest();
public function FlashTest() {

var s1:SockTest = new SockTest();
addChild(s1);
}
}
}
♥0 | Line 46 | Modified 2013-11-21 23:09:31 | MIT License
play

ActionScript3 source code

/**
 * Copyright tepe ( http://wonderfl.net/user/tepe )
 * MIT License ( http://www.opensource.org/licenses/mit-license.php )
 * Downloaded from: http://wonderfl.net/c/i1wM
 */

/*package {
    import flash.display.Sprite;
    import flash.text.*;
    public class FlashTest extends Sprite {
        //private var s1:SockTest = new SockTest();
        public function FlashTest() {
            // write as3 code here..
            var s1:SockTest = new SockTest();
            addChild(s1);
        }
    }
}
*/
package{
import flash.net.*;
import flash.events.*;
import flash.display.*;
import flash.utils.*;
import flash.text.*;
public class FlashTest extends Sprite{
    private var nam:String;
    private var sock:Socket = new Socket();
    
    private var connect_btn:Sprite = new Sprite();
    private var send_btn:Sprite = new Sprite();
    private var close_btn:Sprite = new Sprite();
    
    private var name_txt:TextField = new TextField();
    private var chat_txt:TextField = new TextField();
    private var msg_txt:TextField = new TextField();
    
    private function init():void{
        
        name_txt.border = true;
        chat_txt.border = true;
        chat_txt.type="input";
        msg_txt.type="input";
        msg_txt.multiline =true;
        msg_txt.border = true;
        name_txt.text = "name";
        msg_txt.text = "msg";
        name_txt.type="input";
        chat_txt.text="chat";
        chat_txt.y = 120;
        chat_txt.x = 0;
        msg_txt.y = 300;
        addChild(name_txt);
        addChild(chat_txt);
        addChild(msg_txt);
        
    }
    
    private function func1(s:Sprite,X:int=0,Y:int=0):void{
        with(s){
            x = X;
            y = Y; 
            graphics.beginFill(0xff0000);
            graphics.drawCircle(0,0,20);
            graphics.endFill();
            buttonMode=true;
        }
        addChild(s);
    }


    ///*
    public function FlashTest():void{ 
        func1(connect_btn,120,30);
        func1(send_btn,200,30);
        func1(close_btn,250,30);
        init();  
        sock.addEventListener(ProgressEvent.SOCKET_DATA, receive_data);
        connect_btn.addEventListener(MouseEvent.MOUSE_DOWN,connect_server);
    }
    
    public function connect_server(event:MouseEvent):void {
        
        sock.connect("192.168.11.7", 8080);
        var pat:RegExp = /\S/;
        pat.test( name_txt.text) ? nam = name_txt.text : nam = "名無し";
        sock.writeMultiByte(nam + "さんが接続しました。\n","shift-jis");
        sock.flush();
        
        connect_btn.removeEventListener(MouseEvent.MOUSE_DOWN,connect_server);
        
        send_btn.addEventListener(MouseEvent.MOUSE_DOWN,send_data);
        close_btn.addEventListener(MouseEvent.MOUSE_DOWN,close_server);
        //chat_txt.text += "aaa";
    }

    public function close_server(event:MouseEvent):void {
        sock.writeMultiByte(nam + "さんが切断しました。\n","shift-jis");
        sock.flush();
        sock.close();
        send_btn.removeEventListener(MouseEvent.MOUSE_DOWN,send_data);
        close_btn.removeEventListener(MouseEvent.MOUSE_DOWN,close_server);
        connect_btn.addEventListener(MouseEvent.MOUSE_DOWN,connect_server);
    } 

    public function receive_data(event:ProgressEvent):void {
        chat_txt.appendText(sock.readMultiByte(sock.bytesAvailable,"shift-jis") + "\n");
        //mySb.scrollTarget = chat_txt;
        //mySb.scrollPosition = chat_txt.numLines * 5;
    }

    public function send_data(event:MouseEvent):void {
        sock.writeMultiByte(nam + ":" +msg_txt.text + "\n","shift-jis");
        sock.flush();
        msg_txt.text = "";
    }
    //*/
    
}
}//package