Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   Серверные технологии и Flash (http://www.flasher.ru/forum/forumdisplay.php?f=62)
-   -   Многопользовательская игра PHP+Flash (http://www.flasher.ru/forum/showthread.php?t=75724)

alehano 18.02.2006 13:17

Многопользовательская игра PHP+Flash
 
Здравствуйте, уважаемые.
Вот задался я такой идеей - сделать многопользовательскую игру (сначала шахматы, потом и другие). Но вот в чем проблема - не совсем точно представляю себе как реализовать это дело с помощью PHP и Flash. Первое что приходит на ум - обновлять данные каждые, допустим, 5 сек. Но это не очень хорошо. Хотелось бы чтобы соединение было постоянное и сервер отсылал команды сразу.
Как лучше реализовать сервер на PHP? Думаю, что нужно работать с сокетами. Но я с ними пока не имел дело. У кого есть опыт - поделитесь.
Еще слышал, что если делать сервак на PHP, то будет очень сильно жрать память, т.к. на каждого юзера будет запускаться отдельная версия PHP+Apache. А если делать php через cgi, меньше будет кушать?
Еще вроде бы можно написать демон на TCL, но этот язык я вообще не знаю.

По сути, постоянное соединение нужно лишь для того чтобы посылать команду клиентам (flash программам) о том что нужно обновить информацию, после того как какой-то игрок сделает ход. Т.к. вся инфа о ходах будет на сервере в SQL.

В общем, помогите выбрать правильное решение.

Скрипун 19.02.2006 14:01

Это делается при помощи сокет сервера... или клиент сервера..

П.С. они стоят ДЕНЬГИ!

alehano 19.02.2006 14:13

Готов в принципе купить. Только где и почем?

OverFLY 19.02.2006 18:55

До тебя таких желающих уже много было - большинство до коненчного пути так и не дошли, сломались либо на пол пути либо еще раньше....

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

Обычно после понимания всех этих проблем - забивают на реализацию проекта, хотя бывают и исключения...

Leezard 20.02.2006 18:10

Пишу как исключение :)
Можно сделать на PHP, как этог было на первом 3sider. Но очень много этих НО. Необходимость рефреша и многое другое сильно тормозит систему, в плане развития. Идеальный вариант - сокет. Причем желательно писать свой, в любом случае нужен будет еще и сервак на котором все это надо будет ставить. На обычном хостинге никто не даст тебе поставить java-сервер. Ну и в одиночку это все очень тяжело, очень удобно когда каждый занимается своей частью проекта.

OverFLY 21.02.2006 19:16

Leezard Молодец!!! ПЕрежевал уже сказанное!!! 5+

Crazy 21.02.2006 22:54

Цитата:

Сообщение от Leezard
На обычном хостинге никто не даст тебе поставить java-сервер.

Really?

Leezard 22.02.2006 22:30

2 OverFLY
А чего ты злой такой?
И что нового сказал ты? И что ожидал услышать от меня?

2 alehano
Первая версия ТриСайдера (3sider.com) была реализованна при помощи PHP запросов на loadVar и onData. Ну и в принципе как-то работала. И трафика ела меньше HTMLных , броузерных игр. Но было желание сделать больше, то есть увеличить сложность системы в общем. Поэтому задавшись целью сделали сокет-сервер.
Есь речь идет о простых системах , PHP запросов достаточно, тем более сейчас есть средства позволяющие упростить общение между клиентом и сервером.
Все это дело оптимизируется с точки запрос-ответ. Информацию нужно систематизировать. И рефрешить сервер на предмет "обновлений". Так можно сократить трафик. Если обновления для клиента присутствуют, запрашивается "полезная" информация. Шахматы реализовать таким методом довольно просто. В конце концов скорость реакции партнера по игре абсолютно не важна.
Так что главное начать. И не слушай злобствующих неудачников :)

Leezard 22.02.2006 22:34

Цитата:

Сообщение от Crazy

Я прошел ссылке. А потом перешел на сайты хостеров (первых двух). Там нигде нет упоминания о Java. Они размещение cgi преподносят как техническую революцию. Так что на заборе тоже написано...

Crazy 23.02.2006 02:20

Тем не менее они предоставили hostobzor'у информация о том, что java у них поддерживается.

А вот пассаж о cgi я не понял. Ты где-то видел JSP в cgi-виде? Я и не знал, что это технически возможно...

Antares 23.02.2006 04:16

Цитата:

Сообщение от Скрипун
Это делается при помощи сокет сервера... или клиент сервера..

П.С. они стоят ДЕНЬГИ!

Существует столько бесплатных сокет-серверов....

А вот про второе я тотально не понял.

Crazy 23.02.2006 10:47

Я так понимаю, что есть клиент сервера, сервер сервера и клиент клиенты... :)

Leezard 23.02.2006 15:00

Цитата:

Сообщение от Crazy
Тем не менее они предоставили hostobzor'у информация о том, что java у них поддерживается.

А вот пассаж о cgi я не понял. Ты где-то видел JSP в cgi-виде? Я и не знал, что это технически возможно...

Ну мы же не обсуждаем кто кому предоставил, правда? Мы говорим о том что трудно на обычном платном хостинге зпустить свой Ява сервер. А по поводу CGI, не принимай все так буквально, эти хостеры про возможность использовать CGI на своем сервере пишут как о большом достижении. Следовательно использование на сервере собственной Ява машины это для них как полет на луну, говоря образно.

Crazy 23.02.2006 15:29

Запустить на обычном недорогом хостинге свой java-сервер ничуть не сложнее, чем запустить свой PHP. :) И то, и другое совершенно нереально.

Недорогие хостинги, где Java уже есть -- существуют. К примеру, на net.ru стоял resin (не знаю, что там сейчас).

lizergil 28.02.2006 13:04

Кроме Java еще и Perl есть :cool:

redhead 04.04.2006 09:54

Уже в которой теме ни одного более-менее конкретного ответа...
Хотя бы ссылка у кого-нибудь есть на маленький пример использования сокетов для Flash?

Скрипун 05.04.2006 23:54

electrotank.com

Zoberg 14.04.2006 01:01

У самого когда-то была мысль сделать сокет-серверную игрушку... Причем, хватало всего - и знаний, немного освежить только, и сокет сервер был.... Какая нелепость затормозила все это - я не умею рисовать, а игру с плохой графикой делать не хочется)))

3Ton 04.08.2006 15:09

Zoberg
та же самая фигня....


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

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