Тема: Сокеты
Показать сообщение отдельно
Старый 06.05.2012, 03:27
Давид вне форума Посмотреть профиль Отправить личное сообщение для Давид Найти все сообщения от Давид
  № 1  
Ответить с цитированием
Давид

Регистрация: Apr 2012
Сообщений: 19
По умолчанию Сокеты

Здравствуйте с помощью As3 создал сокетное соединения с сервером
при нажаты клавиш, As3 записывает сообщения в сокет например вот так,
x5
x20x25x30y5y10
y15y20
y25y30x35
и т.д

мне нужно чтобы каждый сообщения записывался в сокет одельо. т.е так
x20
x25
x30
y5
y10
y15

как можно решить?
Код AS3:
   /* connect to socket */
var socket = new Socket("localhost", 1024);
      socket.connect;   
   socket.flush;
 
           /* state of connect to socket */        
socket.addEventListener(Event.CONNECT,socketConnected);
   function socketConnected(e:Event):void{
   trace("client - socket connected", socket.connected);
   }
 
           /* read the string from the socket*/
socket.addEventListener(ProgressEvent.SOCKET_DATA,socketData);
   function socketData(e:ProgressEvent):void{
   var x1='';
   var y1='';
   var read_socket=socket.readUTFBytes(socket.bytesAvailable);
    if (read_socket.indexOf('x')==0){
     for (var i=1; i<read_socket.length; i++){   
      x1=x1+read_socket.charAt(i);   
           }
    sqr.x=Number(x1);   
    }
    if (read_socket.indexOf('y')==0){
     for (i=1; i<read_socket.length; i++){   
      y1=y1+read_socket.charAt(i);   
           }
    sqr.y=Number(y1);   
    }
   trace(read_socket);   
   }
 
 
 
         /*Move to sqr*/
var speed:Number = 5;
stage.addEventListener(KeyboardEvent.KEY_DOWN, downn);
 
   function downn(e:KeyboardEvent): void{
   if (e.keyCode==37){
    socket.writeUTFBytes('x'+sqr_i.x);        //write to socket
    socket.flush();
    sqr_i.x -= speed;
   }if(e.keyCode==39){
    socket.writeUTFBytes('x'+sqr_i.x);
    socket.flush();
    sqr_i.x += speed;
   }if(e.keyCode==38){
    socket.writeUTFBytes('y'+sqr_i.y);
    socket.flush();
    sqr_i.y -= speed;
   }if(e.keyCode==40){
    socket.writeUTFBytes('y'+sqr_i.y);
    socket.flush();
    sqr_i.y += speed;
   }   
   }
 
 
 
 
 
   socket.close;