Кто-нибудь успешно попытался создать многопользовательскую викторину в HTML / Javascript / Server Side script, в результате чего статус каждого пользователя (немного похожий на 5-й, 4-й, 3-й, 2-й и 1-й) постоянно передается каждому пользователю как они все играют в викторину?
Я не собираюсь делать что-то потрясающее, и я думаю, что, вероятно, все сводится к тому, чтобы просто запрашивать центральную БД каждые x секунд на странице (например, xhttp), но был бы очень признателен за мнение экспертов Здесь :)
Спасибо
Привет, концепция в основном будет состоять из 2-10 человек, которые будут отвечать на вопросы на своей собственной веб-странице, и при этом небольшая часть страницы (буквально контейнер div) будет указывать, в какой позиции каждый человек находился в то время, например, игрок У 1 сейчас 7 вопросов, она 1-я, у 2-го игрока 5 вопросов, он 2-й, у 3-го игрока 4 вопроса, он 3-й. После еще нескольких вопросов у игрока 3 есть 6 вопросов, поэтому он переходит ко второму, а страница игрока 2 показывает, что он третий - все это до тех пор, пока не закончится таймер викторины.
На данный момент у меня сложилось впечатление, что таймер на каждой странице будет выполнять запрос xhttp (через js), чтобы обновить div с текущим порядком доски лидеров, но будет ли это слишком большим ударом, если появятся вопросы вверх, таймер обратного отсчета и т. д.
Как я уже сказал, это, безусловно, возможно, и вы, вероятно, можете построить это по-другому. Если вы используете в качестве примера веб-сокеты, сервер может транслировать сообщения клиентам и наоборот в реальном времени.
будут ли веб-сокеты лучшим вариантом, чем синхронизированный запрос xhttp? Они что-то делают по-другому? Я всегда стремлюсь работать на базовом уровне, то есть javascript, а не jquery, для моего собственного понимания, и чтобы он был как можно более компактным.
Вероятно, вы можете избавиться от необходимости в таймерах с помощью веб-сокетов. Сервер может транслировать всем клиентам, когда что-то меняется, например, изменение оценки или ответ, аналогично клиенты могут обновлять сервер в реальном времени с ответом / выбором, сделанным пользователем.
Моя проблема в том, что я все еще работаю с классическим asp, и я не думаю, что это может справиться с веб-сокетами - синхронизированные запросы ajax - мой единственный вариант?
Я думаю, это больше зависит от ваших личных предпочтений. Я нашел этот пост, в котором говорится, что нет технической причины, по которой вы не можете использовать веб-сокеты stackoverflow.com/questions/9318895/….
Конечно, можно построить что-то подобное, но ваш вопрос действительно слишком общий / неясный. Вы можете использовать websockets / Socket.IO, если есть необходимость в обмене данными в реальном времени, двунаправленном и на основе событий.