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

Nirth 16.10.2006 23:33

Можешь послать сам сервер откомпиленый, у меня нету IDE Для явы.

integer 16.10.2006 23:50

Цитата:

Сообщение от wvxvw
но вряд ли это как-то связано...

М-да, это точно - работает так же. Блин, может у меня версия Флэшки кривая... или еще че-нить в таком роде... уж даже не знаю... Ведь все написано абсолютно ПРАВИЛЬНО!:mad::mad::mad:

integer 17.10.2006 00:08

Вложений: 1
Вот значит сама флэшка (в новой версии) и откомпиленый сервер на Яве. - файлик Server.class

wvxvw 17.10.2006 03:42

Цитата:

onData (XMLSocket.onData handler)
onData = function(src:String) {}

Invoked when a message has been downloaded from the server, terminated by a zero (0) byte. You can override XMLSocket.onData to intercept the data sent by the server without parsing it as XML. This is a useful if you're transmitting arbitrarily formatted data packets, and you'd prefer to manipulate the data directly when it arrives, rather than have Flash Player parse the data as XML.

By default, the XMLSocket.onData method invokes the XMLSocket.onXML method. If you override XMLSocket.onData with custom behavior, XMLSocket.onXML is not called unless you call it in your implementation of XMLSocket.onData.

Availability: ActionScript 1.0; Flash Player 5

Parameters
src:String - A string containing the data sent by the server.

Example
In this example, the src parameter is a string containing XML text downloaded from the server. The zero (0) byte terminator is not included in the string.

XMLSocket.prototype.onData = function (src) {
this.onXML(new XML(src));
т.е. попробуй так:
Код:

XMLSocket.prototype.onData = function (src) {
    this.onXML = tracer;
}
function tracer(){
trace("!!!");
}

И еще вариант...
Поскольку connect() возвращает true\false попробуй сделать что-то типа:
Код:

var _l1:Boolean = socket.connect();
_root.onEnterFrame =function(){
trace(_l1);
}

А вдруг конекшен сразу обрубается после того, как установился, и ничего после этого уже не передается?
Но вообще странно все это... жаль сейчас потестить не могу =(

FourSide 17.10.2006 11:32

Во флэше, вроде, всё написано правильно. Но у меня одно время не приходили сообщения (сервер на ПХП) пока я не добавил в скрипте сервера нулевой код в конце строк (\0).
Но если Java, говорите, сама добавляет....

integer 17.10.2006 12:45

Цитата:

Сообщение от wvxvw
т.е. попробуй так:
Код:

XMLSocket.prototype.onData = function (src) {
    this.onXML = tracer;
}
function tracer(){
trace("!!!");
}


У меня событие onData видимо не срабатывает - вот в чем проблемс-то. Поэтому такая фишка не получится (хотя, я на всякий случай попробовал). Событие onXML также не работает.
Цитата:

Сообщение от wvxvw
И еще вариант...
Поскольку connect() возвращает true\false попробуй сделать что-то типа:
Код:

var _l1:Boolean = socket.connect();
_root.onEnterFrame =function(){
trace(_l1);
}

А вдруг конекшен сразу обрубается после того, как установился, и ничего после этого уже не передается?

Ну, вообще-то даже если он сразу обрубается, то _l1 так и останется true, поскольку он задавался при самом коннекте (который оказался удачным). Хотя, у меня после вставки этого кода, он true даже если сервер при этом не запущен (то есть при txt.text=="error"). Впрочем, судя по мануалу, это нормально, т. к. свидетельствует только о начальной стадии соединения, которая проходит нормально в обоих случаях.
В общем, такой подход не годится явно... А булевского флажка типа XMLSocket.connected макромедицы почему-то не предусмотрели :(

integer 17.10.2006 12:48

Цитата:

Сообщение от FourSide
Во флэше, вроде, всё написано правильно. Но у меня одно время не приходили сообщения (сервер на ПХП) пока я не добавил в скрипте сервера нулевой код в конце строк (\0).
Но если Java, говорите, сама добавляет....

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

nbno 17.10.2006 12:57

С клиентом все впорядке. Проверял на двух серверах (java,php), работает как часы.

integer 17.10.2006 13:10

Цитата:

Сообщение от nbno
С клиентом все впорядке. Проверял на двух серверах (java,php), работает как часы.

А можешь, исходники этих серверов дать,а?:rolleyes:

wvxvw 18.10.2006 16:17

Код:

var socket:XMLSocket = new XMLSocket();
socket.connect(...);
socket.onClose = function () {
    trace("Connection to server lost.");
}

Вот, опять же, так можно проверить отключился ли сервер
ЗЫ. А может причина банально простая: файрвол\прокся просто не пускают в этот порт? %)
ЗЫЫ. Ну и не знаю... попробуй сниффером посмотреть, приходит ли вообще с сервера хоть что-нибудь...


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

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