Для крестиков ноликов хватит банального Long Poll.
Т.е. игрок походил - данные отправились на серв, что он походил и как это сделал. Когда юзер сделал ход, то скрипт асинхронно с таймаутом стучит на серв, не походил ли оппонент, но серв отвечает не сразу, а спит до тех пор пока не произойдёт событие. Можете почитать про Long Poll на этом сайте в разделе Comet. Данный алгоритм не единственный, но наиболее простой в реализации (Polling не беру в расчёт ибо бяка ;)) |
Все проще на самом деле. Сразу после того как игрок сделал ход браузер (скрипт) запрещает игроку делать следующий ход, пока не поступит разрешение от сервера. Запрещение может быть в появлении закрывающего прозрачного блока на экране, не дающего сделать клик или удаление функции рисования крестика(нолика), а разрешение, поступающее после того, как оппонент сделал ход, заключается в исчезновении закрывающего блока или же добавления функции рисования крестика/нолика.
|
Спасибо, ArmagedDance, этот алгоритм гораздо проще и реализуемее выглядит.
|
ArmagedDance ну собственно, вы просто сказали логику работы на клиенте, а связь с сервером нет, он же не телепат ;) Для этого можно использовать разные методики, но проще ето Long Poll)
|
Часовой пояс GMT +3, время: 03:19. |