PDA

Просмотр полной версии : Многопользовательская игра...


Slp
23.02.2006, 15:02
вообщем столкнулся с проблемой следущего характера:
пользователь создает заявку на бой, в эту заявку могут подключится еще несколько игроков (пользователей).

1) Бой начнется пока не будет 5 человек в заявке

2) Бой начнется через n-ое время.

как узнать клиенту(флеш) что бой начался и его нужно туда отправить?

Leezard
23.02.2006, 15:11
Может клиент должен спросить об этом у сервера?

Slp
23.02.2006, 15:25
но через какое время? он должен у него спросить, или что постоянно? =)

p.s. хорошо когда бой начинается через n-ое время, тогда я и спрошу через это время.
а если бой начнется когда группа будет набрана - что тогда?

nouba
23.02.2006, 15:30
Если сервак на демоне :) то тогда ьез проблем ... если скриптами... то есть пару вариантов.. например тестовые запросы каждых 10 сек. (но это геморно)
Есть вариант на стриме ПХП-шном то тогда в ход подключаются фреймы, ЯваСкрипт и т.д.
Смотри сам, что удобней :)

Slp
23.02.2006, 15:43
пожалуй раскажу, что сейчас происходит...

1. есть демон который предоставляет функционал чата (т.е. чат НЕ на рефреше).

2. есть серверный скрипты на php в них флеш отправляет и получает данные в ответ (если это необходимо) с помощью loadvars и т.д.

3. демон и скрипты независимы друг, от друга.

вы предлагаете оставить одного демона, и пусть демон сам подключает скрипты и работает с ними, а после посылает ответ клиенту, так?
или вы имеете в виду другое, то отпишите ответ по пунктам 1 и 2.

nouba
23.02.2006, 15:51
Чесно говоря не совсем понял :) если у вас уже есть демон (я так понимаю на С++) то зачем вам еще скрипты ? Демон может делать все сам .... так и безопасней и быстрей чем на скриптах... во вторых тогда появляется возможность работы через сокет с демоном (например порт 8080 - практически всегда открыт) либо использовать модуль под пач который будет понимать что данные (http://mydomain.ru/demon/login=Vasya&pass=1234) нужно пересылать прямичком на демон :) тоесть ЛоадВаром это же целый минингит и производительность сервера в даун ... но Вам решать!

Slp
23.02.2006, 15:54
демон создавался только для чата, соотвественно только команды его и обрабатывает, если я вас правильно понял, вы предлогаете все скрипты, сделать в демоне, и переложить полностью все на его плечи, так?

p.s. демон на php

nouba
23.02.2006, 16:03
:)))) уточнять надо сразу что на ПХП
тогда один фиг что скрипты что Ваш демон
желательно бы было канешно переложить все на демон, или на 2 отдельных демона
Но еще более желательно писать демон на С++.... тогда проблем у Вас будет меньше :) ГОРАЗДО

__i
23.02.2006, 16:08
XMLSocket - обмен данными в реалтайм режиме, для этого нужна серверная часть.
ну или XML/LoadVars через каждые n-секунд

Slp
23.02.2006, 16:13
to __i:
это и так ясно!

Slp
23.02.2006, 16:16
to nouba:

хм.. так и не понял вас про "тогда один фиг что скрипты что Ваш демон".

а на С++ разве можно добится создания программы под управлением unix-машины? (сам конечно незнаю, но С++ под Windows)

__i
23.02.2006, 16:19
ну так в чем проблема, если ясно?.
Пиши на Яве если те нужно чтоб везде работало %).

__i
23.02.2006, 16:25
Ну продолжаю рассуждения:

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

Тебе в принципе подойдет любой(!) простенкий пример который ты найдешь, главное желание это сделать + немного знаний

nouba
23.02.2006, 16:26
2 Slp

Вы что батенька :))) кто сказал что только под Винду :))))
А один фиг потому что - что Ваш демон, что ваши скрипты мучают тот же компилятор php.... и скорость работы от того что Вы написали демон на ПХП (хотя это даже демоном тяжело назвать) не выросла и не упала

Slp
23.02.2006, 16:43
хорошо....

так все-таки что лучше, ява-сервер, с++сервер и т.д.
и еще где лучше реализованно соеденение с БД, или какое БД лучше применять для каждого из вариантов (ява, с++)

nouba
23.02.2006, 16:47
Если хочешь очень высокую производительность - юзай С++ демон вместе с Oracle (но это удовольствие не дешевое)
Если нахаляву хочешь то С++ с MySQL (оренда дедика с поддержкой запуска С-ишных приложение тебе обойдётся примерно в 150-170 баксов в месяц)
Если есть знакомые которые хорошо владеют Явой то пишы на Яве - будет кроссплатформенно...
Решай сам!

Slp
23.02.2006, 16:58
ок, учту...

p.s. big thanks to all

cassius
27.02.2006, 06:54
Есть вариант на стриме ПХП-шном то тогда в ход подключаются фреймы, ЯваСкрипт и т.д.
Смотри сам, что удобней :)

Можно подробнее?