Форум 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=131201)

ilor 15.10.2009 00:58

Проблема с сокетами
 
Есть клиентская часть на flash:
Код AS3:

var socket:XMLSocket = new XMLSocket();
socket.addEventListener(Event.CONNECT, onConnect);
socket.addEventListener(DataEvent.DATA, onData);
socket.connect("127.0.0.1", 8080);
function onConnect(event:Event){
        trace("Connected...");
        var str:String = "Text\r\n";
        socket.send(str);
}
function onData(event:DataEvent){
        trace(event.data);
}

Серверная часть на java
Код:

import java.io.*;
import java.net.*;

public class flashServer{
    public static void main(String[] args){
        try{
            int port = Integer.parseInt(args[0]);
            ServerSocket ss = new ServerSocket(port);
            for(;;){
                Socket client = ss.accept();
                ClientThread t = new ClientThread(client);
                t.start();
            }
        }
        catch(Exception e){
            System.err.println(e.getMessage());
            System.err.println("Вызов: java flashServer <port>;");
        }
    }

    static class ClientThread extends Thread{
        Socket client;
        ClientThread(Socket client){ this.client = client;}
        public void run(){
            try{
                BufferedReader in = new BufferedReader(new InputStreamReader(client.getInputStream()));
                PrintWriter out = new PrintWriter(new OutputStreamWriter(client.getOutputStream()), true);
               
                String str = in.readLine();
                System.out.println(str);
                String answer = "<res>123</res>";
                out.println(answer);
                out.flush();
               
                out.close();
                in.close();
                client.close();
            }
            catch (IOException e){
            }
        }
    }
}

Клиент посылает серверу "Text", но сервер ничего не отвечает. Подскажите пожалуйста, в чем ошибка? Во flash так принимать ответы от сервера?

il phoenix 15.10.2009 08:35

возможно папка где лежит swf не добавлена в доверенную папку flash. Вот статья про это.

ilor 15.10.2009 12:07

il phoenix, все равно клиент не получает ответ от сервера.

il phoenix 15.10.2009 12:36

аа, XML должно заканчиваться терминальным нулем.
Попробуй так:
Код AS1/AS2:

String answer = "<res>123</res>\0";


etc 15.10.2009 12:48

Название темы не отражает сути вопроса.


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

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