Передача различных данных клиент-сервер-клиент
Передача различных данных клиент-сервер-клиент
Опору при написании кода делал вот на этот урок: http://flapps.ru/forum/topic7181.html
Теперь про собственно проблему:
Вот так происходит упаковка данных: Файл сокета я взял из урока, заменив только из файла Server.java рядки 62 и 66, вместо message прописал danniSoket; в 158-м рядке Client.java проделал то же.
Код приёма и обработки: И тут собственно ничего не получается - ни объект не создаётся, ни координата не выводиться в текстовое поле. Может что-то заметите или знаете ,что поможет решить проблему. В таком случае прошу помочь и указать на мой промах.
Теперь про собственно проблему:
Вот так происходит упаковка данных: Файл сокета я взял из урока, заменив только из файла Server.java рядки 62 и 66, вместо message прописал danniSoket; в 158-м рядке Client.java проделал то же.
Код приёма и обработки: И тут собственно ничего не получается - ни объект не создаётся, ни координата не выводиться в текстовое поле. Может что-то заметите или знаете ,что поможет решить проблему. В таком случае прошу помочь и указать на мой промах.
Re: Передача различных данных клиент-сервер-клиент
ты немного запутался в том что такое JSON
клиенту(flash) глубоко наплевать какое имя переменной было у другого клиента...
т.е. обращайся как decodedMessage.igrok
если других ошибок нет то заработает...
ps. приятно знать что мои уроки кому-то пригодились
клиенту(flash) глубоко наплевать какое имя переменной было у другого клиента...
т.е. обращайся как decodedMessage.igrok
если других ошибок нет то заработает...
ps. приятно знать что мои уроки кому-то пригодились
Re: Передача различных данных клиент-сервер-клиент
Спасибо за указание, полезно. Но нашел ещё одну неточность, которую не знаю как решить:
Проверяя работоспособность кода с помощью функции обнаружил, что после строки проверка не работает. Начал разбираться, и вот к чему дошел:
Если код написан в классе, то он работает и так:
А вот если написан в кадре (как написал я), то вот как:
Но если я пропишу так как надо, то кол-во аргументов, которые ожидается и полученное, не совпадает, т.е. при вызове функции нужно прописать не readMessage(), а что-то другое. Только вот что? Попробовал некоторые вариации, не получилось, можете подсказать?
Проверяя работоспособность кода с помощью функции
Код: Выделить всё
inf1.text = "+";
Код: Выделить всё
var decodedMessage:Object = JSON.parse(user_message);
Если код написан в классе, то он работает и так:
Код: Выделить всё
var decodedMessage:Object = JSON.parse(user_message);
Код: Выделить всё
var decodedMessage:Object = JSON.parse(e.target.data);
Re: Передача различных данных клиент-сервер-клиент
ты так не шути))) код из кадра не имеет доступа к переменным класса.. темболее если есть код в кадре - то не может быть прикреплен класс.. значит в кадре нужно создавать его экземпляр.. и т.д.А вот если написан в кадре (как написал я)
сделай в классе и не мути=)
Re: Передача различных данных клиент-сервер-клиент
Увы, переделывать в классы - это долго( Можно хотя б наброски, что бы иметь представление, что и как?
Re: Передача различных данных клиент-сервер-клиент
нет..долго.. просто скажу:Увы, переделывать в классы - это долго( Можно хотя б наброски, что бы иметь представление, что и как?
1) измени private на public
2) делегируй все задачи классу
потому-что класс имеет доступ к его членам.. кадр - нет, потому он берет данные из цели события(сокета), так можно и в классе сделать, но тогда код запутается. а суть ооп в том чтобы сделать проще...Если код написан в классе, то он работает и так:
var decodedMessage:Object = JSON.parse(user_message);
А вот если написан в кадре (как написал я), то вот как:
var decodedMessage:Object = JSON.parse(e.target.data);
UPD: как вариант перепиши класс в функции(под кадр) и все будет работать...=))
Re: Передача различных данных клиент-сервер-клиент
По второму пунктику хочу сделать уточнение:
все переменные прописать и заполнить данными, файл класса в одной директории из исходником, из кадра обращаться вот так:
Я правильно понял?
все переменные прописать и заполнить данными, файл класса в одной директории из исходником, из кадра обращаться вот так:
Код: Выделить всё
var dopKlass:Main = new Main();var koordinata:Number = dopKlass.decodedMessage.kordX;
Re: Передача различных данных клиент-сервер-клиент
нет. не правильно понял..По второму пунктику хочу сделать уточнение:
все переменные прописать и заполнить данными, файл класса в одной директории из исходником, из кадра обращаться вот так:
сделай так чтобы класс или слал событие и подпишись на него из кадра.. или сделай так, чтобы класс вызывал фукнцию-обработчик из кадра... т.е. что-то вроде этого...
Код: Выделить всё
// код класса// тут объявление переменных...public var _messageFunc:Function = null;// тут тоже код класса...private function readMessage():void {//... тут код ф-ции..получаем данные...var decodedMessage:Object = JSON.parse(user_message);// теперь если есть ф-ция обработчик - передадим в нее...if(_messageFunc != null) _messageFunc(decodedMessage);// тут дальше код ф-ции}// опять код класса... // код в кадреvar obj:Main = new Main();// твоя супер-функция обработки...function myfunc(json:Object):void {trace(json.kordX);}obj._messageFunc = myfunc;