0

Как я могу запустить этот проект клиент/сервер на ActionScript 3? Я использую flashbuilder. Я не уверен, если я даже делать правильные вещи, я сделал новый как мобильный проект и поместить в код для моего клиента, который это:Как подключить клиент и сервер с сокетом?

public class client extends Sprite 
{ 
    private var socket:Socket; 
    private var IP:String = "127.0.0.1"; 

    public function client() 
    { 
     super(); 

     socket = new Socket(); 
     socket.addEventListener(Event.CONNECT, onConnected); 
     socket.connect(IP, 5555); 
    } 

    protected function onConnected(event:Event):void 
    { 
     socket.writeUTFBytes("communication between Sockets (Client socket and server socket)"); 
     socket.flush(); 
    } 
} 

, а затем я создал новый класс в рамках пакет, который имеет класс клиента (как описано выше) в нем и поставить в этом как класс сервера:

public class NewSocketServerTest extends Sprite 
{ 
    private var serverSocket:ServerSocket = new ServerSocket(); 
    private var clientSocket:Socket; 

    private var txt:TextField; 
    public function NewSocketServerTest() 
    { 
     createUI(); 
     serverSocket.bind(5555); 
     serverSocket.addEventListener(ServerSocketConnectEvent.CONNECT, onConnected); 
     serverSocket.listen(); 
    } 

    protected function onConnected(event:ServerSocketConnectEvent):void 
    { 
     txt.appendText("This is a demonstration of \n"); 
     clientSocket = event.socket; 
     clientSocket.addEventListener(ProgressEvent.SOCKET_DATA, onDataHandler); 
    }  

    protected function onDataHandler(event:ProgressEvent):void 
    { 
     var str:String = clientSocket.readUTFBytes(clientSocket.bytesAvailable); 
     txt.appendText(str); 
    } 

    private function createUI():void 
    { 
     txt = new TextField(); 
     txt.width=400; 
     txt.height=400; 
     txt.appendText("Hello! \n"); 
     addChild(txt); 
    } 
} 

Когда я пытаюсь запустить это в эмуляторе это просто белый экран, и я не уверен, что я я делаю неправильно.

ответ

0

Попробуйте указать имя узла serverSocket.

serverSocket.bind(5555,"127.0.0.1"); 
Смежные вопросы