Форум Flasher.ru
Ближайшие курсы в Школе RealTime
Список интенсивных курсов: [см.]  
  
Специальные предложения: [см.]  
  
 
Блоги Правила Справка Пользователи Календарь Поиск рулит! Сообщения за день Все разделы прочитаны
 

Вернуться   Форум Flasher.ru > Flash > Серверные технологии и Flash

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 21.08.2008, 15:33
maxjoin вне форума Посмотреть профиль Отправить личное сообщение для maxjoin Найти все сообщения от maxjoin
  № 1  
Ответить с цитированием
maxjoin

Регистрация: Aug 2008
Сообщений: 4
Question NetConnection.Call.Failed

здравствуйте, помогите разобраться, не могу получить ответ от fms!
использую такой код в HelloWorld.as
Код:
package {
	import flash.display.MovieClip;
	import flash.net.Responder;
	import flash.net.NetConnection;
	import flash.events.MouseEvent;
	import flash.events.NetStatusEvent;
	import flash.events.AsyncErrorEvent;
	import flash.events.SecurityErrorEvent;

	public class HelloWorld extends MovieClip {
		private var nc:NetConnection;
		private var responder:Responder = new Responder(onReply);
		public function HelloWorld() {
			textLbl.text = "";
			connectBtn.label = "Connect";
			connectBtn.addEventListener(MouseEvent.CLICK, connectHandler);
		}
		public function connectHandler(event:MouseEvent):void {
			if (connectBtn.label == "Connect") {
				trace("Connecting...");
				nc = new NetConnection();
				nc.client = new Client();
				nc.addEventListener(NetStatusEvent.NET_STATUS, netStatusHandler);
				nc.addEventListener(AsyncErrorEvent.ASYNC_ERROR, asyncErrorHandler);
				nc.addEventListener(SecurityErrorEvent.SECURITY_ERROR, securityErrorHandler);
				// Connect to the server.
				nc.connect("rtmp://localhost/HelloWorld");
				// Call the server's client function serverHelloMsg, in HelloWorld.asc.
				nc.call("serverHelloMsg", responder, "World");
				connectBtn.label = "Disconnect";
			} else {
				trace("Disconnecting...");
				// Close the connection.
				nc.close();
				connectBtn.label = "Connect";
				textLbl.text = "";
			}
		}
		private function securityErrorHandler(event:SecurityErrorEvent):void {
			trace(event.text);
		}
		private function asyncErrorHandler(event:AsyncErrorEvent):void {
			trace(event.text);
		}
		private function netStatusHandler(event:NetStatusEvent):void {
			trace("connected is: " + nc.connected );
			trace("event.info.level: " + event.info.level);
			trace("event.info.code: " + event.info.code);
		}
		private function onReply(result:Object):void {
			trace("onReply received value: " + result);
			textLbl.text = String(result);
		}
	}
}
class Client {
	public function onBWCheck():Number {
		return 0;
	}
	public function onBWDone():void {
		trace("onBWDone -> ok!");
	}
}
и в HelloWorld.asc

Код:
application.onConnect = function(client) {
	client.serverHelloMsg = function(helloStr) {
		return "Hello, " + helloStr + "!";
	}
	application.acceptConnection(client);
}
в ошибке пишет NetConnection.Call.Failed,
файл HelloWorld.asc расположен как указано в fms.ini, в директории C:\Program Files\Adobe\Flash Media Server 3\scriptlib

подскажите что не так!

Старый 21.08.2008, 16:56
wvxvw вне форума Посмотреть профиль Отправить личное сообщение для wvxvw Найти все сообщения от wvxvw
  № 2  
Ответить с цитированием
wvxvw
Modus ponens
 
Аватар для wvxvw

модератор форума
Регистрация: Jul 2006
Адрес: #1=(list #1#)
Сообщений: 8,049
Записей в блоге: 38
Ну, во-первых, никто не знает, что такое textLbl и connectBtn...
Во-вторых, connectHandler судя по названию должен вызываться, когда происходит коннект, а не клик, зачем себя и остальных вводить в заблуждение?
В-третих, вызвать подряд connect() и call() не получится, нужно дожаться когда соединение установиться, и тогда уже общаться с сервисом.
Ну и
Код:
private var responder:Responder = new Responder(onReply);
так делать плохо: никто вам не гарантирует, что интерпретатор всегда будет сначала инициировать методы, а потом свойства.
Кроме всего прочего, если connectHandler можно вызвать больше одного раза - это значит, что вы с каждым вызовом будете добавлять слушателей, т.е. после первого клика на событие отреагирует только одна функция, после второго - та же функция, но уже 2 раза.
__________________
Hell is the possibility of sanity

Старый 22.08.2008, 02:51
maxjoin вне форума Посмотреть профиль Отправить личное сообщение для maxjoin Найти все сообщения от maxjoin
  № 3  
Ответить с цитированием
maxjoin

Регистрация: Aug 2008
Сообщений: 4
Цитата:
Ну, во-первых, никто не знает, что такое textLbl и connectBtn...
находятся во fla файле.
Цитата:
Во-вторых, connectHandler судя по названию должен вызываться, когда происходит коннект, а не клик, зачем себя и остальных вводить в заблуждение?
исправил btclick
Цитата:
В-третих, вызвать подряд connect() и call() не получится, нужно дожаться когда соединение установиться, и тогда уже общаться с сервисом.
сервер присылает след строки
Connecting...
connected is: true
event.info.level: status
event.info.code: NetConnection.Connect.Success
onBWDone -> ok!
connected is: true
event.info.level: error
event.info.code: NetConnection.Call.Failed
Цитата:
Ну и
Код:
private var responder:Responder = new Responder(onReply);
так делать плохо: никто вам не гарантирует, что интерпретатор всегда будет сначала инициировать методы, а потом свойства.
делал по примеру как в http://livedocs.adobe.com/flashmedia..._dev_guide.pdf стр 4. Я новичок и только начинаю разбираться, пожалуйста подскажите как лучше сделать. я прикреил архив если вас не затруднит могли бы Вы поправит код.
Вложения
Тип файла: rar sample.rar (237.8 Кб, 197 просмотров)

Старый 22.08.2008, 09:16
terbooter вне форума Посмотреть профиль Отправить личное сообщение для terbooter Найти все сообщения от terbooter
  № 4  
Ответить с цитированием
terbooter

Регистрация: Oct 2006
Адрес: Novosibirsk-Kaliningrad
Сообщений: 1,278
Отправить сообщение для terbooter с помощью ICQ Отправить сообщение для terbooter с помощью Skype™
переобзавите HelloWorld.asc
в main.asc или в main.js

Старый 23.08.2008, 04:34
maxjoin вне форума Посмотреть профиль Отправить личное сообщение для maxjoin Найти все сообщения от maxjoin
  № 5  
Ответить с цитированием
maxjoin

Регистрация: Aug 2008
Сообщений: 4
Цитата:
Сообщение от terbooter Посмотреть сообщение
переобзавите HelloWorld.asc
в main.asc или в main.js
все равно пишет
Connecting...
connected is: true
event.info.level: status
event.info.code: NetConnection.Connect.Success
onBWDone -> ok!
connected is: true
event.info.level: error
event.info.code: NetConnection.Call.Failed

может у меня fms не настроен или в скриптах что не так написано?

Старый 23.08.2008, 04:51
2morrowMan вне форума Посмотреть профиль Отправить личное сообщение для 2morrowMan Найти все сообщения от 2morrowMan
  № 6  
Ответить с цитированием
2morrowMan
 
Аватар для 2morrowMan

Регистрация: Aug 2007
Сообщений: 467
Цитата:
Сообщение от wvxvw Посмотреть сообщение
Кроме всего прочего, если connectHandler можно вызвать больше одного раза - это значит, что вы с каждым вызовом будете добавлять слушателей, т.е. после первого клика на событие отреагирует только одна функция, после второго - та же функция, но уже 2 раза.
Неправда. Сами вводите новичка в заблуждение.
__________________
Лучше быть умным и иногда делать глупости, чем глупым и постоянно умничать!


Последний раз редактировалось 2morrowMan; 23.08.2008 в 04:55.
Старый 25.08.2008, 02:08
maxjoin вне форума Посмотреть профиль Отправить личное сообщение для maxjoin Найти все сообщения от maxjoin
  № 7  
Ответить с цитированием
maxjoin

Регистрация: Aug 2008
Сообщений: 4
так кто нибудь поможет мне???

Старый 25.08.2008, 08:37
alexcon314 вне форума Посмотреть профиль Отправить личное сообщение для alexcon314 Найти все сообщения от alexcon314
  № 8  
Ответить с цитированием
alexcon314
listener

модератор форума
Регистрация: Jun 2006
Сообщений: 3,260
Записей в блоге: 28
Отправить сообщение для alexcon314 с помощью ICQ
maxjoin, поднимать темы бессодержательными постами типа "есть тут знающие?" или "да помогите уже!" запрещено правилами. За это получают предупреждения. И потом, никто не обязан вам помогать, вы не забыли?

Старый 26.08.2008, 23:51
FeaR!! вне форума Посмотреть профиль Отправить личное сообщение для FeaR!! Найти все сообщения от FeaR!!
  № 9  
Ответить с цитированием
FeaR!!

Регистрация: Oct 2007
Сообщений: 22
Скачай вот этот архивчик, мне wvxvw помог. Огромное ему спасибо за это.
Может чем поможет моё творение =)
Вложения
Тип файла: rar chat2.rar (204.4 Кб, 347 просмотров)

Создать новую тему Ответ Часовой пояс GMT +4, время: 03:01.
Быстрый переход
  « Предыдущая тема | Следующая тема »  
Опции темы
Опции просмотра

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


 


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


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