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

Вернуться   Форум Flasher.ru > Блоги > Основные моменты разработки приложений

Рейтинг: 3.00. Голосов: 3.

Настройка сокетов для Flash 8

Запись от EndoCrinologist размещена 07.03.2013 в 23:45

–Ну, как Вы поживаете?
–Вашими молитвами, сэр…
Неизвестный человек

Итак, здравствуйте, дорогие друзья, форумчане, обитатели форума, нубы, просвещенные, опытные и просто те люди, которые тут есть. Снова пишу вам я, великий врач по эндокринным железам!

Написав первую букву этой статьи, считайте, что ваши мольбы, просьбы, многочисленные темы с названиями «помогите с сокетами», «помогите по онлайн мультиплееру» и прочие вопросы, связанные с Интернетом, связью с сервером и прочей лабудой ЗА-КОН-ЧЕ-НЫ! Ибо я, со своей пытливостью, дотошностью и другими важными качествами, добился правды! Я приоткрыл завесу тайны сокетов! Oh, yeah!

Да, признаю, таким же был и я! Но с этого момента я приблизился еще на один шаг к познанию мироздания мультиплеерных флеш игр и прочего контента для отдыха! Но всё-таки, почему же все эти ваши темы, многочисленные «как работает?» и «покажите на примере!» не заканчиваются? Потому что тут есть некоторые люди, которых я условно назвал «вяз-кэ-ра-ви-ня-не», что расшифровывается как «Вот Я Знаю, Как Это Работает! А Вы – Идите На Х..». Да-да! Такие есть. И на слова «помогите, пожалуйста» они отвечают «Нуу! Это долгий процесс… Долго отвечать! За это люди готовы платить 6ти и 7ми-значные цифры!». А вот если бы сложить все эти их отговорки, думаю, по количеству символов, вышла нехилая статья! Поэтому СЕЙЧАС я вам ОБЪЯСНЮ, КАК ЭТО РАБОТАЕТ и ЧТО НУЖНО СДЕЛАТЬ, чтобы РАБОТАЛО.

Итак, я объясню, как это работает НА ДОМАШНЕМ, ЛОКАЛЬНОМ сервере. Для этого нам потребуется несколько вещей:
1) молитвы (богу, Сократу, аристотелю, Будде, Деду Морозу… Неважно, в кого вы верите. Важно, чтобы были молитвы)
2) водка (или другой алкогольный напиток, не менее 1 литра)
3) огурцы (свежие, соленые, малосольные – неважно)
4) Само обеспечение Macromedia Flash (у меня стоит версии 8… И не надо мне сейчас тут «Фу! Фу! У него 8ка стоит!». Сами Вы хороши – даже нормальную статью я нигде не нашел, как можно нормально установить сервера, сокеты и прочее! Поэтому, ЦЫЦ! Не возникайте!)
5) установочный базовый пакет Денвера (скачать можно тут: http://denwer.ru)
6) JDK (обеспечение для java-сервера. Я предоставлю позднее ссылку на прямое скачивание установочного файла. Если Вы захотите скачать сами с сайта http://oracle.com – то удачи. Лично мне, мой JDK понравился, он работает)
7) Flashsockets.jar (сервер для наших сокетов, тоже потом предоставлю ссылку на прямое скачивание)
8) runServer.bat – файл запуска сервера сокетов.

Итак, приступим.

ШАГ 1. Скачивание материала.
1) Скачивание JRun4Server - http://********/d/FkAUm6Av37R4R
2) Скачивание архива Dekstop.rar с flashSockets.jar и runServer.bat - http://********/d/gxvS7yCL37RCF (кстати, там они настроены, осталось залить в на диск С. Но желательно перепроверить)

ШАГ 2. Установка обеспечения
1) Если у вас уже есть Macromedia Flash (а думаю он есть у всех, читающих сейчас статью), то можете пропустить этот этап. Если нет, то тогда сначала установите программное обеспечение.
2) После установки MF вам необходимо установить JDK сервер.
a. Выпейте, закусите, помолитесь и нажмите на установочную программу, которую вы скачали ОТ МЕНЯ (если сами качали – мучайтесь сами).
b. Обязательное действие: Вам предложат установить обеспечение в папку C:/JRun4 – СОГЛАСИТЕСЬ! Под любым предлогом! Под дулом пистолета, лезвия ножа, угрозы профузного поноса – но согласитесь.
c. После установки, как только всё будет закончено, нажмите на «Готово» и приступайте к следующему этапу.
3) Установка дополнительных файлов
a. После того, как JDK установлен, поместите 2 файла (flashsockets.jar и runServer.bat) на диск C:/, чтобы их расположение было, соответственно, C:/flashsockets.jar и C:/runServer.bat
b. Теперь отредактируйте файл runServer.bat. Вот его текущее содержимое
Код:
	echo off
	
	set CLASSPATH=D:\flashsockets.jar;
	set JAVA_HOME=D:\jdk1.3.1\bin\
	set PATH=%PATH%;%_jh%;
	echo ready to run server...
	java flashsockets.FlashSimpleSocketServerV2
c. Вам нужно заменить строки
Код:
set CLASSPATH=D:\flashsockets.jar;
	set JAVA_HOME=D:\jdk1.3.1\bin\
d. на то расположение, в которое сейчас у вас установлены flashsockets.jar и JRun4/bin/, то есть на:
Код:
set CLASSPATH=C:\flashsockets.jar;
	set JAVA_HOME=C:\JRun4\bin\
4) Теперь, после того, как вы это сделали:
a. Выпейте, закусите, помолитесь
b. Запустите runServer.bat
5) Если тот, кому мы помолились, одобрит, то вы увидите такие 2 новых окна:
6)




7) И если они такие, как тут я показал, то УРА! Выпитое было не зря!

ШАГ 3. Тестируем сокет-соединение во Flash
1) Запустите Macromedia Flash
2) В Action первого кадра введите следуюший код:
Код AS1/AS2:
soc = new XMLSocket();
	soc.connect("localhost", 1234);
	soc.onConnect = function(success){
		if(success){
			trace("Соединение установлено!");
			soc.send("Test data");
		} else {
			trace("Невозможно соединиться...");
		}
	}
 
	soc.onData = function(txt){
		trace("Приняты входящие данные: " + txt);
	}
3) ЭТОТ КОД Я ПРОТЕСТИРОВАЛ, У МЕНЯ ОН РАБОТАЕТ (и только для английского языка… Русский – не распознает… Но это пока нам не надо.), а вы:
a. Выпейте, закусите, помолитесь
b. Нажмите CTRL+Enter
c. И если вы увидите в окне Output следующие строки
Цитата:
Соединение установлено!
Приняты входящие данные: Test data
d. то мы опять-таки выпили не зря! УРА! У НАС ПОЛУЧИЛОСЬ:
i. соединиться
ii. отправить данные
iii. принять данные
e. МЫ ПРОСТО МОЛОДЦЫ!

Если же у вас что-то не получилось… Ну… Значит не судьба… Значит, вы были плохим мальчиком (девочкой) в этом году и ваши молитвы не были услышаны… А может быть у вас просто кривые руки, и к тому же они растут из заднего места… В любом случае: попробуйте что-то переустановить, удалить, заменить, проверить правильность введенных параметров, кодов и прочее.

Для чего же нужен денвер? Да просто, чтобы был. Поэтому устанавливать его – ваше дело. Думаю, все знают, для чего он нужен. Например, использование его в качестве сервера для авторизации.

Это, думаю, конец статьи. У меня получилось сделать всё, что я задумал. Цель выполнена! До новых встреч!

P.S. Претензии по поводу грубости и в начале сказанных слов – просьба не отвечать. Подумайте в начале о них… Если думаете, что это никому не надо, и что это - глупаяя статья, введите в поиске по форуму слово "сокеты"
Всего комментариев 8

Комментарии

Старый 11.03.2013 13:09 cleptoman вне форума
cleptoman
 
Аватар для cleptoman
все хорошо, но зачем тут JDK и Денвер..не силен в нюансах, но запустить сервер вроде как и установленного JRM хватит.
Старый 11.03.2013 16:49 Котяра вне форума
Котяра
 
Аватар для Котяра
Вот я размещал похожий. http://www.flasher.ru/forum/blog.php?b=275
Старый 16.03.2013 04:58 EndoCrinologist вне форума
EndoCrinologist
 
Аватар для EndoCrinologist
Так у меня для тех, кто еще ас2 пользуется У Вас под ас3, как я понял
Денвер - да просто так.. А вот soc.send и soc.onData (или onXML) без JDK у меня не работали...
Старый 16.03.2013 12:04 Hauts вне форума
Hauts
 
Аватар для Hauts
EndoCrinologist, то решение и для ас2 работать должно нормально.
Старый 21.03.2013 23:42 EndoCrinologist вне форума
EndoCrinologist
 
Аватар для EndoCrinologist
Не пробовал.
Старый 25.04.2013 10:26 poyo_poyo вне форума
poyo_poyo
Если под рукой есть хост с *nix системой, то никаких серверов для теста можно не ставить. Достаточно внимательно прочитать ман по суперсерверу inetd или xinetd а потом отредактировать пару строчек текста.
Старый 25.04.2013 11:45 alexcon314 вне форума
alexcon314
Цитата:
никаких серверов для теста можно не ставить
А кто будет отвечать клиенту? Пушкин?
Или имеется в виду что в роли серврера будет выступать что-то вроде простенького скрипта, работающего с stdin/stdout (на перле, к примеру)? Но его как бы тоже надо писать и для тестов этого может быть маловато ... впрочем, смотря какие тесты .
Старый 01.05.2013 19:48 kackbip вне форума
kackbip
 
Аватар для kackbip
Цитата:
А кто будет отвечать клиенту? Пушкин?
Думаю подразумевался именно сервер, но не приложение. Что-то вроде томкат апача.
 

 


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


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