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

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

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 21.08.2009, 13:03
Flash может всё вне форума Посмотреть профиль Отправить личное сообщение для Flash может всё Найти все сообщения от Flash может всё
  № 1  
Ответить с цитированием
Flash может всё

Регистрация: Aug 2009
Сообщений: 3
Question Онлайновая флэш игра

Добрый день
Есть флэш игра(клиент), которая должна обращаться к ряду серверов за данными. Всё в общем то готово, за исключением самой работы с серверами.
Клиент должен работать не мудрено. Подключается к удалённому серверу, отправляет данные о себе, получает данные о других клиентах.
Подскажите пожалуйста как это можно реализовать. Какие приложения, знание какого языка(кроме as), и вообще как это соединение производится, возможно ли это сделать при помощи таких функций как LoadVars и XML? Можно ли производить соединение двух компьютеров(одного как сервер, другого как клиент) или сервер должен иметь домен.
Заранее простите за глупые вопросы, просто в этой теме вообще ничего не знаю.


Последний раз редактировалось Flash может всё; 21.08.2009 в 13:36.
Старый 21.08.2009, 13:33
iflamberg вне форума Посмотреть профиль Отправить личное сообщение для iflamberg Найти все сообщения от iflamberg
  № 2  
Ответить с цитированием
iflamberg
 
Аватар для iflamberg

Регистрация: Jan 2009
Сообщений: 1,651
Код:
Всё в общем то готово, за исключением самой работы с серверами.
это значит, что нифига ничего не готово.
У обычного приложения и многопользовательского совсем разная архитектура, разный подход.
Значит по пунктам:
Цитата:
Можно ли производить соединение двух компьютеров(одного как сервер, другого как клиент) или сервер должен иметь домен.
флеш сервером быть не умеет. Вам придется арендовать(или освоить свой) хостинг. В зависимости от выбранной технологии, его стоимость может быть различной.
Цитата:
вообще как это соединение производится, возможно ли это сделать при помощи таких функций как LoadVars и XML
Зависит от сложности приложения, количества отсылаемых-присылаемых запросов. Если это сложное приложение и задержка между запросом-получением ответа значима - тогда в флеш-клиенте используется Socket, а на сервере пишется приложение сокет-сервер. Для сервера тогда покупается выделенный виртуальный сервер - VDS. Так как самые дешевые варианты VDS работают под управлением ОС FreeBSD или других семейства юниксов, то сервер пишется на ява или c++. В принципе, можно хоть на делфи писать, тогда просто нужен сервер с windows server.
Как вариант, есть платный Fox server где можно писать серверную часть на as3. И есть гигант Flash media server, где можно писать серверные плуги хоть на as3, Хоть на си(цена пугает - 4500$ в максимальной комплектации). Опять же нужен выделенный сервер, чтобы все это крутилось.
Если нагрузка по пользователям ожидается небольшой (300-400 юзеров в пике) и задержка в ответе на секунду-две неважна, то можно обойтись без сокет-сервера. Вполне можно обойтись и LoadVars+XML в флеш-клиенте и php+mysql на сервере.

В любом случае, чтобы разобраться во всем этом человеку без опыта понадобится не один месяц.

Старый 21.08.2009, 13:35
aksios вне форума Посмотреть профиль Отправить личное сообщение для aksios Найти все сообщения от aksios
  № 3  
Ответить с цитированием
aksios
loading 50%
 
Аватар для aksios

Регистрация: Jun 2005
Адрес: I am where I should be
Сообщений: 3,567
Отправить сообщение для aksios с помощью ICQ
http://www.flasher.ru/forum/showthread.php?t=128854

Старый 02.09.2009, 15:06
mypaxa вне форума Посмотреть профиль Отправить личное сообщение для mypaxa Найти все сообщения от mypaxa
  № 4  
Ответить с цитированием
mypaxa

Регистрация: Sep 2009
Сообщений: 2
В итоге:
Во флеше есть чудо штука: XMLSocket, Socket [как юзать и где лежит - погуглите]
Сервер для игры: любой язык программирования (исключим только архаику).

Рекомендация: Пишите сервер на Java!
Вам понадобится:
Eclipce среда разработки (как начать с ним работать тоже Гуглим)

Клиент-сервер Java (Ctrl+C только то, что касается сервера )

Флеш: обязатльно читаем про
Код AS3:
Security.loadPolicyFile("xmlsocket://domen.name");
И для теста:
Код AS3:
 
import flash.net.*;
 
var 	xsock:XMLSocket = new XMLSocket(); //Новый сокет
		xsock.addEventListener(Event.CONNECT, Fxmlsocket); // Слушаем событие сокета Подключение
		xsock.addEventListener(Event.CLOSE, Fxmlsocket); // Слушаем событие сокета Отключение
		xsock.addEventListener(IOErrorEvent.IO_ERROR, Fxmlsocket); // Слушаем событие сокета Нипадключаиццо!
 
function Fxmlsocket(Event):void{ // Функция реакции на события отключение / подключение
	switch(Event.type){
		case 'ioError':
			trace ("error: "+IOErrorEvent.IO_ERROR); // Выводит в аутпут сообщение error
		break;		
		case 'connect':
			trace ("connect"); // Выводит в аутпут сообщение connect
		break;
		case 'close':
			trace ("close"); // Выводит в аутпут сообщение close
		break;
	}
}
 
xsock.addEventListener(DataEvent.DATA, datainc); //Слушаем событие отправки данных от сервера
function datainc(event:DataEvent):void { // реакция на прием данных
	trace(event.data); //вывод сообщения
}
 
xsock.connect("192.168.0.1",8080); // Подключение к серверу по порту 8080
Security.loadPolicyFile("xmlsocket://192.168.0.1"); // файл безопасности
xsock.send("testing ... "); // Отправляем серверу строку
//xsock.close(); если нужно прервать соединение

В общем случае, как пример - (ЭХО)Сервер возвращает сообщение клиенту.

На то чтобы разобраться с сетевым программированием (на начальном этапе игростроительной каръеры) у меня ушло не больше недели (ну тут как кому природа дала).

Дерзайте!


Последний раз редактировалось mypaxa; 02.09.2009 в 15:11.
Старый 02.09.2009, 21:07
WRC_S вне форума Посмотреть профиль Отправить личное сообщение для WRC_S Посетить домашнюю страницу WRC_S Найти все сообщения от WRC_S
  № 5  
Ответить с цитированием
WRC_S
[+6 23.11.09]
 
Аватар для WRC_S

Регистрация: Jun 2009
Адрес: Россия
Сообщений: 318
Отправить сообщение для WRC_S с помощью ICQ
сначало разобраться с простым соединением между клиентом flash и сервером, потом выдумать протокол общения, и строить свою игру! А вы сначало написали игру и говарите клиент готов! Неааа придётся ваш клиент полностью перетряхивать под клиент-сервер!!!

Старый 31.01.2010, 12:06
Flash может всё вне форума Посмотреть профиль Отправить личное сообщение для Flash может всё Найти все сообщения от Flash может всё
  № 6  
Ответить с цитированием
Flash может всё

Регистрация: Aug 2009
Сообщений: 3
Здравствуйте, вы наверное уже про меня сто раз забыли, но я вернулся.
Спасибо всем кто отвечал, ваши материалы толкнули меня в нужном направлении.
В общем я потихоньку своими силами осваиваю серверные технологии. Сервер и клиент начали обмениваться данными, но не в реальном времени =( То есть я запускаю сокет сервер, и клиент, клиент клянётся что отослал данные серверу, а сервер пожимает плечами. Как только я закрываю клиент, сервер принимает всё что клиент отсылал одной большой кучей. При этом с сервера данные клиент принимает успешно по мере их отправки.

Старый 31.01.2010, 12:12
etc вне форума Посмотреть профиль Найти все сообщения от etc
  № 7  
Ответить с цитированием
etc
Et cetera
 
Аватар для etc

Регистрация: Sep 2002
Сообщений: 30,787
flush нужно вызывать.

Старый 31.01.2010, 15:48
Flash может всё вне форума Посмотреть профиль Отправить личное сообщение для Flash может всё Найти все сообщения от Flash может всё
  № 8  
Ответить с цитированием
Flash может всё

Регистрация: Aug 2009
Сообщений: 3
Эмм... Можете больше не отвечать, я нашел в чём была проблема - я не завершал данные символом перехода на новую строку \n

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

модератор форума
Регистрация: Jun 2006
Сообщений: 3,260
Записей в блоге: 28
Отправить сообщение для alexcon314 с помощью ICQ
Цитата:
Можете больше не отвечать
Ну вы, можете больше вопросов не задавать.

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

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

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


 


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


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