![]() |
|
||||||||||
|
|||||||
|
|
« Предыдущая тема | Следующая тема » |
| Опции темы | Опции просмотра |
|
![]() |
![]() |
|
|||||
|
Регистрация: Jun 2008
Сообщений: 56
|
Так, суть темы такова. Я на 90% уверен что функций для связи между двумя флешками, запущенными на разных компьютерах соединенных в локальную сеть, в стандартном наборе нет (поправьте меня если я не прав). Но существует теория (моя
), что можно написать программу(к примеру, на с++), которая будет запускаться на обоих компьютерах и устанавливать между собой связь (заранее известную, разумеется). Флеш плеер будет передавать переменные, якобы, другому флеш-ролику, который, опять же якобы, запущен на этом же компьютере. На самом деле этот флеш ролик будет имитировать программа и передавать их по локальной сети. Я думаю что такой вариант более чем возможен, однако, задавался ли этим кто нибудь? Основная проблема состоит в том что протокол и принцип общения между двумя роликами мне, к сожалению, неизвестен... |
|
|||||
|
ветеран форума
|
Изврат. Просто пишем сокет-сервер на C++, который доступен с обоих машин. и гоняем с помощью XMLSocket данные.
__________________
4am is time to rock |
|
|||||
|
Регистрация: Jun 2008
Сообщений: 56
|
Написал сокет-сервер-клиент в одном лице, который запускается как сервер или как клиент, в зависимости от опций. Все бы хорошо, но столкнулся с такой проблемой:
данные из флеша не поступают с приложение. Флеш коннектится к сокету, который был создан сервером, но буфер приема программы пуст.... в чем может быть проблема? может быть для флэшевского сокета нужны какие-то специфические параметры? Жаль что функция XMLSocket.send не возвращает никаких ошибок... |
|
|||||
|
.
|
Ваш "сокет-сервер-клиент" корректно работает как клиент?
ЗЗЗЗЗЫ. "сервер-клиент в одном лице" пишут для тестов, когда нет реального клиента. |
|
|||||
|
Регистрация: Jun 2008
Сообщений: 56
|
Да, сервер-клиент между собой работает нормально, я проверял.
да, разумеется, но если вы читали мое сообщение сверху, то сразу становится понятно зачем нужен клиент-сервер. Поскольку общение идет между двумя флэш роликами, то для общения нужен какой-то канал, коим и выступает с++ приложение. А так как в будущем нельзя однозначно сказать кто будет клиентом, а кто сервером, и существуют оба варианта. Разумеется в нынешнем отладочном варианте нет всяких наворотов. Если решу эту проблему, планирую передачу ip адреса, к которому необходимо подключаться непосредственно из флэша.
__________________
Mechanical life! |
|
|||||
|
.
|
Цитата:
Цитата:
Цитата:
Итого, Ваш сервер (по-видимому, распределенный, что следует из технического задания) должен: 1. Слушать определенный сокет и уметь устанавливать связь с вопрошающей флешкой. 2. Уметь устанавливать связь с другим подобным сервером (явно на другом сокете) и уметь передать данные этому соседу, полученные от подключенной флешки. Правила распространяются на все ветки распределенного сервера =) Последний раз редактировалось dimarik; 03.02.2009 в 01:51. |
|
|||||
|
Регистрация: Jun 2008
Сообщений: 56
|
Все верно
и сокет-сервер, написаный мною, эти задачи выполняет(должен), ну по крайней мере теоритически. То что программа устанавливает связь и обменивается пакетами со своим клоном на другом компьютере - проверено практически. Так же проверено то, что флешка конектится к выделенному ей сокету. Проблема в том что переданные на сокет данные методом .send() никакого эффекта не дают Буфер сокета остается пустым...
__________________
Mechanical life! |
|
|||||
|
Регистрация: Jun 2008
Сообщений: 56
|
кто такой снифер?
Добавлено через 2 часа 10 минут Вот тут забавная ситуация выходит. Вот код в части флэша, он банален. Если запускать его обычным образом, то сообщения "Connected successfully" не появляется, хотя сокет-сервер говорит о том, что подключение к сокету все таки произошло. Однако, если поставить брейкпоинт на той самой строчке где выводится сообщение "Connected successfully", то в дебаггере он благополучно останавливается в этом месте и трассирует ее в output. что-то охинея какая-то ![]() При чем, с нелогичностью поведения одной и той же операции во флеше я сталкиваюсь уже не первый раз... 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! |
![]() |
![]() |
Часовой пояс GMT +4, время: 01:16. |
|
|
« Предыдущая тема | Следующая тема » |
|
|