Я немного играю с концепцией Comet на node.js, но я все еще немного запутался, и мне интересно, может ли кто-нибудь здесь указать мне правильное направление.
Подумайте об игровом приложении, в котором клиентский код должен запрашивать очередь сделать ход (например, в шахматном приложении). То, что я думаю, здесь используется примерно так:
Когда матч начинается, на сервере узла вызывается метод для создания элемента в массиве матчей с идентификатором матча и начальным игроком.
Когда игрок делает ход, вызывается метод для обновления текущего игрока в элементе массива, ссылающемся на это совпадение. Этот метод должен запускать событие, когда происходит изменение.
Прежде чем сделать какой-либо ход, клиентский код должен вызвать метод на сервере, который проверяет, настала ли очередь пользователя, и ожидает события смены игрока, если не настала его очередь.
Я не уверен, что это хороший подход в цикле событий, и если это так, я не понимаю, как я могу заставить метод ждать, пока событие не вернется.
Какие-либо предложения?