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

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

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

Регистрация: Jun 2008
Сообщений: 56
Cool Связь между флешками по локальной сети

Так, суть темы такова. Я на 90% уверен что функций для связи между двумя флешками, запущенными на разных компьютерах соединенных в локальную сеть, в стандартном наборе нет (поправьте меня если я не прав). Но существует теория (моя ), что можно написать программу(к примеру, на с++), которая будет запускаться на обоих компьютерах и устанавливать между собой связь (заранее известную, разумеется). Флеш плеер будет передавать переменные, якобы, другому флеш-ролику, который, опять же якобы, запущен на этом же компьютере. На самом деле этот флеш ролик будет имитировать программа и передавать их по локальной сети. Я думаю что такой вариант более чем возможен, однако, задавался ли этим кто нибудь? Основная проблема состоит в том что протокол и принцип общения между двумя роликами мне, к сожалению, неизвестен...

Старый 28.01.2009, 00:55
DarkLight вне форума Посмотреть профиль Отправить личное сообщение для DarkLight Посетить домашнюю страницу DarkLight Найти все сообщения от DarkLight
  № 2  
Ответить с цитированием
DarkLight
ветеран форума
 
Аватар для DarkLight

Регистрация: May 2006
Адрес: Москва
Сообщений: 2,978
Отправить сообщение для DarkLight с помощью ICQ Отправить сообщение для DarkLight с помощью Skype™
Изврат. Просто пишем сокет-сервер на C++, который доступен с обоих машин. и гоняем с помощью XMLSocket данные.
__________________
4am is time to rock

Старый 02.02.2009, 21:48
Maxi_Hunter вне форума Посмотреть профиль Отправить личное сообщение для Maxi_Hunter Найти все сообщения от Maxi_Hunter
  № 3  
Ответить с цитированием
Maxi_Hunter
 
Аватар для Maxi_Hunter

Регистрация: Jun 2008
Сообщений: 56
Написал сокет-сервер-клиент в одном лице, который запускается как сервер или как клиент, в зависимости от опций. Все бы хорошо, но столкнулся с такой проблемой:
данные из флеша не поступают с приложение. Флеш коннектится к сокету, который был создан сервером, но буфер приема программы пуст.... в чем может быть проблема? может быть для флэшевского сокета нужны какие-то специфические параметры? Жаль что функция XMLSocket.send не возвращает никаких ошибок...

Старый 02.02.2009, 23:22
dimarik вне форума Посмотреть профиль Отправить личное сообщение для dimarik Найти все сообщения от dimarik
  № 4  
Ответить с цитированием
dimarik
.
 
Аватар для dimarik

модератор форума
Регистрация: Sep 2003
Адрес: Москва
Сообщений: 4,630
Записей в блоге: 20
Ваш "сокет-сервер-клиент" корректно работает как клиент?

ЗЗЗЗЗЫ. "сервер-клиент в одном лице" пишут для тестов, когда нет реального клиента.
__________________
Воспитан в TimeZero. Работаю в Mail.ru.

Старый 02.02.2009, 23:46
Maxi_Hunter вне форума Посмотреть профиль Отправить личное сообщение для Maxi_Hunter Найти все сообщения от Maxi_Hunter
  № 5  
Ответить с цитированием
Maxi_Hunter
 
Аватар для Maxi_Hunter

Регистрация: Jun 2008
Сообщений: 56
Да, сервер-клиент между собой работает нормально, я проверял.
да, разумеется, но если вы читали мое сообщение сверху, то сразу становится понятно зачем нужен клиент-сервер. Поскольку общение идет между двумя флэш роликами, то для общения нужен какой-то канал, коим и выступает с++ приложение. А так как в будущем нельзя однозначно сказать кто будет клиентом, а кто сервером, и существуют оба варианта. Разумеется в нынешнем отладочном варианте нет всяких наворотов. Если решу эту проблему, планирую передачу ip адреса, к которому необходимо подключаться непосредственно из флэша.
__________________
Mechanical life!

Старый 03.02.2009, 01:43
dimarik вне форума Посмотреть профиль Отправить личное сообщение для dimarik Найти все сообщения от dimarik
  № 6  
Ответить с цитированием
dimarik
.
 
Аватар для dimarik

модератор форума
Регистрация: Sep 2003
Адрес: Москва
Сообщений: 4,630
Записей в блоге: 20
Цитата:
Да, сервер-клиент между собой работает нормально, я проверял.
Ну-с, тады начнем. И начнем с теории.

Цитата:
Я на 90% уверен что функций для связи между двумя флешками, запущенными на разных компьютерах соединенных в локальную сеть, в стандартном наборе нет
Аха, нет таких штук.

Цитата:
можно написать программу(к примеру, на с++), которая будет запускаться на обоих компьютерах и устанавливать между собой связь (заранее известную, разумеется).
Написание такой программы является необходимым условием для выполнения Вашей задачи. У нас (flash) есть класс XMLSocket (для AVM1. AVM2 обсуждается в соседнем разделе). Он умеет подсоединяться к чему-то (Ваш сервер, например), при определенных условиях (flash player security restrictions). В случае успешного коннекта, можно начинать обмениваться данными с сервером. ЭТО ВСЕ =). Флешка не может открыть сокет на прослушку!

Итого, Ваш сервер (по-видимому, распределенный, что следует из технического задания) должен:
1. Слушать определенный сокет и уметь устанавливать связь с вопрошающей флешкой.
2. Уметь устанавливать связь с другим подобным сервером (явно на другом сокете) и уметь передать данные этому соседу, полученные от подключенной флешки.

Правила распространяются на все ветки распределенного сервера =)
__________________
Воспитан в TimeZero. Работаю в Mail.ru.


Последний раз редактировалось dimarik; 03.02.2009 в 01:51.
Старый 03.02.2009, 02:08
Maxi_Hunter вне форума Посмотреть профиль Отправить личное сообщение для Maxi_Hunter Найти все сообщения от Maxi_Hunter
  № 7  
Ответить с цитированием
Maxi_Hunter
 
Аватар для Maxi_Hunter

Регистрация: Jun 2008
Сообщений: 56
Все верно и сокет-сервер, написаный мною, эти задачи выполняет(должен), ну по крайней мере теоритически. То что программа устанавливает связь и обменивается пакетами со своим клоном на другом компьютере - проверено практически. Так же проверено то, что флешка конектится к выделенному ей сокету. Проблема в том что переданные на сокет данные методом .send() никакого эффекта не дают Буфер сокета остается пустым...
__________________
Mechanical life!

Старый 03.02.2009, 11:34
dimarik вне форума Посмотреть профиль Отправить личное сообщение для dimarik Найти все сообщения от dimarik
  № 8  
Ответить с цитированием
dimarik
.
 
Аватар для dimarik

модератор форума
Регистрация: Sep 2003
Адрес: Москва
Сообщений: 4,630
Записей в блоге: 20
Снифер что говорит?
__________________
Воспитан в TimeZero. Работаю в Mail.ru.

Старый 03.02.2009, 21:24
Maxi_Hunter вне форума Посмотреть профиль Отправить личное сообщение для Maxi_Hunter Найти все сообщения от Maxi_Hunter
  № 9  
Ответить с цитированием
Maxi_Hunter
 
Аватар для Maxi_Hunter

Регистрация: Jun 2008
Сообщений: 56
кто такой снифер?

Добавлено через 2 часа 10 минут
Вот тут забавная ситуация выходит. Вот код в части флэша, он банален. Если запускать его обычным образом, то сообщения "Connected successfully" не появляется, хотя сокет-сервер говорит о том, что подключение к сокету все таки произошло. Однако, если поставить брейкпоинт на той самой строчке где выводится сообщение "Connected successfully", то в дебаггере он благополучно останавливается в этом месте и трассирует ее в output. что-то охинея какая-то
При чем, с нелогичностью поведения одной и той же операции во флеше я сталкиваюсь уже не первый раз...
Код AS1/AS2:
var SERVERADDR:String = "127.0.0.1";
var PORT:Number = 7500;
var socket:XMLSocket = new XMLSocket();
connect_btn.onRelease = function() {
	if (!socket.connect(SERVERADDR, PORT)) {
    	trace("Connection Failed");
	}
	socket.onConnect = function (success) {
    	if (success) {
        	trace("Connected successfully");
	    } else {
    	    trace("Connection Failed");
	    }
	}
}
__________________
Mechanical life!

Старый 05.02.2009, 14:27
dimarik вне форума Посмотреть профиль Отправить личное сообщение для dimarik Найти все сообщения от dimarik
  № 10  
Ответить с цитированием
dimarik
.
 
Аватар для dimarik

модератор форума
Регистрация: Sep 2003
Адрес: Москва
Сообщений: 4,630
Записей в блоге: 20
Что-нибудь с политикой безопасности?
__________________
Воспитан в TimeZero. Работаю в Mail.ru.

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

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

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


 


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


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