Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 1.0/2.0 (http://www.flasher.ru/forum/forumdisplay.php?f=93)
-   -   Клиент на основе XMLSocket (http://www.flasher.ru/forum/showthread.php?t=86475)

integer 16.10.2006 15:40

Клиент на основе XMLSocket
 
Пишу клиент-серверное приложение: в качестве клиента Flash со следующим кодом:
Код:

socket = new XMLSocket();
socket.onConnect = function(success) {
        if (success) txt.text="connect";
        else txt.text="error";
}
socket.onData = function(data) {
        txt.text("message recived");
}
socket.connect("127.000.000.001", 9587);

(на сцене экземпляр TextField c именем txt)

Сервер сделал сначала на С++Builder, сделав там объект ServerSocket, который просто при коннекте отправлял строку. В результате Во флешке высвечивалось "connect", но "message recived" не появлялось, а на сервере работает так как будто все (в том числе и передача) произошло успешно.
Я проботал всесь форум и все, что только можно было - ни-у-кого, вроде, подобных проблем не было, протестил на разных машинах - аналогично. Попробовал отправить сообщние от клиента серверу - передается без проблем.
Потом переписал сервер на Java таким образом:
Код:

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

public class Server {
    public static void main(String[] args) throws IOException {
        ServerSocket server = new ServerSocket(9587);
        Socket socket = server.accept();
        PrintWriter out = new PrintWriter( new BufferedWriter(new OutputStreamWriter(socket.getOutputStream())));
        out.println("Hello");
        server.close();
        socket.close();
    }
}

Результат аналогичен: Сервер отправляет - Флэшка коннектиться, но не получает :wacko:

Народ помогите кто-нибудь, пожалуйста!!! Обращаюсь сюда как в предпоследнюю инстанцию. (Последней станет встреча мой головы со стенкой)...

etc 16.10.2006 16:54

А почему адрес 127.000.000.001, а не 127.0.0.1?

integer 16.10.2006 17:56

Цитата:

Сообщение от __etc
А почему адрес 127.000.000.001, а не 127.0.0.1?

Это одно и то же. Я пробовал и так, и так - одно и тоже. И вообще коннект есть - значит проблема не в этом.

nbno 16.10.2006 18:38

Попробуй так:
Код:

out.println("Hello\0");

integer 16.10.2006 18:46

не помогает. :( Языки на основе Си сами вставляют нулевой байт в конец...

integer 16.10.2006 18:57

Вложений: 1
Вот кстати исходники этого дела (для серверной части нужен JavaBuilder2006):

nbno 16.10.2006 20:19

Замени в исходнике .fla
Код:

txt.text("hello")
на
Код:

txt.text="hello"
или
Код:

txt.text=data

wvxvw 16.10.2006 20:21

мож я чего не понимаю... а может onConnect случается после onData?..
Попробуй просто в 2 разных текстовых поля выводить...

integer 16.10.2006 20:36

Мдя, ошибка, конечно глупая, впрчем на onData у меня стояло так:
Код:

socket.onData = function(data) {
        trace("hello");
}

(отсюда скобки и остались). Сейчас попробовал создать еще поле txt2 и переписать так:
Код:

socket.onData = function(data) {
        txt2.text="recivied";
}

Все осталось как и прежде.

wvxvw 16.10.2006 22:43

А может его эти строчки не устраивают?
Код:

socket = new XMLSocket();
socket.onConnect = function(success) {
        if (success) txt.text="connect";
        else txt.text="error";
}

Код:

socket = new XMLSocket();
socket.onConnect = function(success) {
        if (success) {
txt.text="connect";
} else {
txt.text="error";
}
}

По идее так надо бы... но вряд ли это как-то связано...


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

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