|
|
|
| Здравствуйте. Хочу сделать игру "Крестики-нолики" между двумя пользователями через сайт. Т.е на сайте у меня расположен AJAX и обменивается он данными с PHP где в базе хранится ход игры.
Как это всё правильно реализовать, можете пожалуйста подсказать учебники по данному направлению и примеры. Буду очень благодарен | |
|
|
|
|
|
|
|
для: pavluxa09
(16.06.2012 в 14:13)
| | Организовать можно как угодно. Возьмите любой чат и посмотрите как там всё организовано. Принцип абсолютно такой же. | |
|
|
|
|
|
|
|
для: Саня
(16.06.2012 в 14:20)
| | Это понятно, но нужно так что бы это было наиболее оптимально. Я думал может есть какой то класс который для этого предназначен, ведь все flash игры типа live-games тоже реализовуются взаимодествием только Flash с PHP, что скажете по этому поводу?
Например зачем постоянно отправлять текущие данные об игре, когда можно смотреть не изменилось ли ничего, если изменилось то уже отправлять, а иначе нет. Т.е много тонкостей, может есть класс в котором всё это уже собрано? | |
|
|
|
|
|
|
|
для: pavluxa09
(16.06.2012 в 14:22)
| | Нет тут никаких тонкостей. Дёргаем каждые 5 секунд аяксом скрипт, который отдаёт данные, пришедшие с момента последнего запроса. Можно учесть специфику игры и отключить аякс игроку, который сейчас ходит. | |
|
|
|
|
|
|
|
для: Саня
(16.06.2012 в 14:27)
| | Это слишком просто, не может быть что бы крупные игровые порталы на AJAX работали именно так, когда в онлайне под милион игроков это сильно нагружает сервер | |
|
|
|
|
|
|
|
для: pavluxa09
(16.06.2012 в 14:42)
| | HTTP-протокол очень простой, поэтому сложных решений тут не найдёшь. Это в любом случае будет аякс и точка. Веб сокеты в принципе неплохая идея, но она ещё очень сырая и имеет некоторые проблемы с безопасностью.
> онлайне под милион игроков это сильно нагружает сервер
В таком случае рядом ставят ещё один сервер :)
С клиентской стороны выбора почти нет. А заточка под большие объёмы и высокие нагрузки — это уже забота серверной стороны. Вот тут-то можно разгуляться как хочешь. И кластер из серверов, и балансировщики, и любой язык программирования для серверной части, и, и, и... выбор просто огромен. А у клиента только HTTP да JavaScript.
Можно конечно написать логику на flash, java, silverlight или любом другом экзотическом плагине (а то и написать свой!). Но всегда должен быть fallback на аякс, как на технологию, которая работает на 99% устройствах и браузерах. Но в таком случае увеличивается стоимость сопровождения, поэтому крупным порталам проще и дешевле купить новую железяку, чем поддерживать зоопарк решений. | |
|
|
|