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

Вернуться   Форум Flasher.ru > Flash > ActionScript 3.0

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

Регистрация: Nov 2012
Сообщений: 30
По умолчанию Сокеты

В разделе "Серверные технологии и Flash" мне ответить не могут, по этому прошу прощение у администратора, за. что пишу не в тот раздел.
Вот какая проблема:
От сюда взял код сервера, написал свой код
Код AS3:
import flash.net.URLLoader;
import flash.net.URLRequest;
import flash.events.Event;
import flash.net.XMLSocket;
import flash.events.DataEvent;
import flash.events.IOErrorEvent;
import flash.events.SecurityErrorEvent;
import flash.errors.IOError;
import flash.text.TextField;
 
stop();
 
var userloader:URLLoader = new URLLoader();
var userrequest:URLRequest = new URLRequest("user.xml");
    userloader.load(userrequest);
	userrequest.data;
	userloader.addEventListener(Event.COMPLETE, onUserLoad);
var xml:XML = new XML;
var userLogin:XMLList;
var userPaswurd:XMLList;
var username:Array = new Array();
var pasword:Array = new Array();
var i:int;
var j:int;
var socket:XMLSocket = new XMLSocket();
var logfile:TextField = new TextField();
 
function onUserLoad(e:Event):void
{
	xml = XML(e.target.data);
	userLogin = xml..user_login.text();
	userPaswurd = xml..user_password.text();
	for(i = 0; i < userLogin.length(); i++)
	{
		username.push(userLogin[i]);
	}
	for(j = 0; j < userPaswurd.length(); j++)
	{
		pasword.push(userPaswurd[j]);
	}
}
function myOnConnect(success) {
	if (success) {
		trace ("Connection succeeded!")
  } else {
		trace ("Connection failed!")
	}
}
 
enter_page.addEventListener(MouseEvent.CLICK, onEnter);
 
function onEnter(e:MouseEvent):void
{
	var logins:String = logins.text;
	var paswords:String = paswords.text;
	var categories:String = categories.text;
	var k:int;
	var l:int;
 
	if(logins == "" || paswords == "")
	{
		trace(enter_status.text = ("Ошибка! Не заполнены поля"));
		return;
	}
 
	for(k = 0; k < username.length; k++)
	{
		if(logins == username[k])
		{
			for(l = 0; l < pasword.length; l++)
	        {
				if(paswords == pasword[l])
				{
					socket.connect(null,2525);
					socket.addEventListener(Event.CONNECT, onConnects);
 
					if(true)
					{                    	
					    socket.send("test \n");
						socket.
					    socket.addEventListener(DataEvent.DATA, onConnectSend);
					    if(true)
					    {
					        socket.addEventListener(IOErrorEvent.IO_ERROR, onError);
					        socket.addEventListener(SecurityErrorEvent.SECURITY_ERROR, onSecur);
						    trace("Успех!");
					    	MovieClip(this.root).gotoAndStop(1, "Монтажный кадр 6");
					    }
					}
				}
	        }
		}
	}
	if(logins != username[k] || paswords != pasword[l])
	{
		trace(enter_status.text = ("Не верный логин или пароль."));
		return;
	}
}
 
function onConnects(event:Event):void
{
	logfile.appendText("\nconnectHandler: \n" + event)
	trace("Подключение к серверу: \n" + event);
}
function onConnectSend(event:DataEvent):void
{
	logfile.appendText("\nconnectHandler: \n" + event)
}
function onError(event:IOError):void
{
	trace("Обработка ошибок \n" + event);
}
function onSecur(event:Event):void
{
	trace("Получаем данные от сервера" + event);
}
reminder.addEventListener(MouseEvent.CLICK, onreminder);
 
function onreminder(e:MouseEvent):void
{
	gotoAndStop(2);
}
Все работает за исключением сокетов! Не дают покоя две ошбки
Код:
Error #1034: Ошибка типа Coercion: невозможно преобразовать flash.events::IOErrorEvent@2cc33469 в flash.errors.IOError.
	at flash.events::EventDispatcher/dispatchEventFunction()
	at flash.events::EventDispatcher/dispatchEvent()
	at flash.net::XMLSocket/reflectEvent()
Код:
[SecurityErrorEvent type="securityError" bubbles=false cancelable=false eventPhase=2 text="Error #2048: Нарушение изолированной среды: file:///E|/WebServers2/home/videochat/www/avfc%5F1%5F0.swf не может загрузить данные из :2525."]
.
Люди добрые помогите пожалуйста их исправить!

Старый 01.12.2012, 00:08
КорДум вне форума Посмотреть профиль Отправить личное сообщение для КорДум Найти все сообщения от КорДум
  № 2  
КорДум
 
Аватар для КорДум

блогер
Регистрация: Jan 2008
Адрес: syktyvkar
Сообщений: 3,803
Записей в блоге: 10
Цитата:
function onError(event:IOError):void
Внимательно прочитайте первую ошибку и замените на IOErrorEvent.

Ну а вторая ошибка - нельзя локально из обычного swf без разрешения к сокету сервера ломиться. Сервер по порту 843 (по умолчанию) должен отдавать файл политики безопасности.
__________________
тут я

Старый 01.12.2012, 00:11
mooncar вне форума Посмотреть профиль Отправить личное сообщение для mooncar Найти все сообщения от mooncar
  № 3  
mooncar
Модрон-ветеринар
 
Аватар для mooncar

администратор
Регистрация: May 2009
Адрес: г.Казань
Сообщений: 7,357
Отправить сообщение для mooncar с помощью ICQ Отправить сообщение для mooncar с помощью Skype™
В разных разделах темы дублировать не надо, извинения тут не причем. Вот ваша тема.
__________________
Идите первым!

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

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

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


 


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


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