2016-11-06 5 views
2

Я создаю игру Unity, и я хочу загрузить счет игроков в MongoDB. Поэтому я построил сервер node.js, слушая порт 3000, и баллы будут отправлены на сервер и сохранены в базе данных.Сервер node.js для веб-и мобильного приложения

Мой вопрос в том, что если я хочу создать веб-сайт для просмотра/анализа баллов игроков, какой подход следует использовать?

  1. создать два Node.js-серверов, один для Интернета, один для игры
  2. один node.js сервер, но слушать порт 80 и 3000 (им не уверен, можно ли или нет)
  3. любые другие лучшие предложения?

спасибо.

ответ

2

Я бы создал один сервер узла, один для обслуживания ави и веб-запросов.

Похоже, что данные, обслуживаемые API, и сеть будут одинаковыми или подмножествами друг друга. Таким образом, вы, вероятно, захотите поделиться кодами, найти один и тот же материал из базы данных и т. Д.

Здесь вы можете либо создать отдельные маршруты, которые использует api, так и в Интернете (/api/v1/my_scores vs /my_scores) ИЛИ осознать, что вы просто запрашиваете разные представления одних и тех же данных и делаете что-то RESTful как checking the accept header и отправляете сервер, вывешенный HTML, или отправляете JSON обратно клиенту.

В качестве альтернативы вы можете просто создать api в узле, а затем использовать исключительно инструмент переднего конца, например Angular или React, для создания веб-интерфейса для вашего сайта.

0

Использование порта 3000 не является хорошей идеей, потому что многие пользователи получают доступ к Интернету через брандмауэры, которые блокируют нестандартные порты.

Я бы рекомендовал использовать 443 порт и https для обеспечения связи для обоих вариантов использования.

Если сайт для анализа баллов не использует логику с сервером api, то он может быть создан как отдельный сайт, но при запуске проще управлять одним приложением.

0

Если я понимаю ваш вопрос легко и согласно моим ограниченным знаниям, я думаю, что вам не требуется более одного сервера с базой данных. Причина в том, что в одном веб-сайте вы хотите отображать только высокий балл, а конечный пользователь не может вставить его на веб-сайт. Таким образом, сложность минимальна, так что не беспокойтесь, чтобы создать другой сервер. Просто сделайте данные, получающие API, отдельными для использования на веб-сайте.