Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 3.0 (http://www.flasher.ru/forum/forumdisplay.php?f=83)
-   -   Сокеты (http://www.flasher.ru/forum/showthread.php?t=179081)

Давид 07.05.2012 13:20

Я дописал код, но выдает ошибку

Error #2044: Необработанный ioError:. text=Error #2031: Ошибка сокета. URL: localhost
at sqr1_fla::MainTimeline/frame1()


Код AS3:

import com.adobe.serialization.json.JSON;
 
var MyNum:int=null;
 
  /* connect to socket */
var socket:XMLSocket  = new XMLSocket();
    socket.connect("localhost", 2000);
 
 
                        /* 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(DataEvent.DATA, socketData);
 
 
function socketData(e:DataEvent):void  {
        var read_socket=e.data;
        trace(read_socket);
 
        server.text = read_socket;
 
 
 
                var key:Array = [];
                var hk:int = 0;
                stage.addEventListener(KeyboardEvent.KEY_DOWN, downn);
                hk++;
                        function downn(e:KeyboardEvent): void{
                                hk++;
                                if (key[e.keyCode] == true){
                                  return;
                                }else{
 
 
 
                                        var Data:String  = '<?xml version="1.0" encoding="UTF-8"?><email><aaa>"+hk+" DOWN</aaa></email> ';
                                        client.text = Data;
                                                socket.send(Data);
                                                key[e.keyCode] = true;
 
                                        }
                                }
 
 
                stage.addEventListener(KeyboardEvent.KEY_UP, up);
                        function up(e:KeyboardEvent): void{
                                        hk++;
 
 
                                        var Data1:String  = '<?xml version="1.0" encoding="UTF-8"?><email><aaa>"+hk+" UP</aaa></email> ';
                                        client.text = Data1;
                                        key[e.keyCode] =null;
 
 
 
                                }
 
}
//socket.send('<?xml version="1.0" encoding="UTF-8"?><email><c>bye</email>');
 
                                        /*close to socket*/
 socket.close();


-De- 07.05.2012 14:02

Ну вот это и надо ковырять.
Ох, адЪ же у вас, простите. Хотя бы не мешайте код в кадре и обьявления функций, если уже в кадре пишете.
Раньше был socket.close - он не работал (это просто упоминание функции, как например вы бы просто написали socket). Теперь (когда это действительно вызов функции socket.close()) он правда пытается закрыться. Но он ещё не открыт.
Если не поможет его убрать - пишите когда появляется ошибка. Неплохо бы ещё подписаться на все кидаемые XMLSocket ошибки, как минимум это правила приличия.
Вообще, хоть этот сокет и называется XMLSocket, но на самом деле это текстовый сокет, не обязательно по нему xml гонять, гоняйте по нему просто строки (на сервере их надо завершать нулём ('\0'), на клиенте это происходит автоматом).

Давид 08.05.2012 20:08

Спасибо написал с XMLSocket все нормально


Часовой пояс GMT +4, время: 11:48.

Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.