У меня есть ключевой вопрос в разработке сервера многопользовательской игры. Мне нужна лучшая концепция, тогда я буду использовать это как в C #, так и в PHP.
В настоящее время я хочу сделать такую игру:
ракетка для кнопок моя, а верхняя — твоя.
Мне нужно передавать данные каждые 40 миллисекунд, чтобы обновить экран. Первой идеей было написать веб-сервис, который вычисляет текущую позицию объектов и отвечает клиентам как JSON. но проблема была в данных на сервере. Я не мог поделиться данными сеанса между клиентами. Я думал использовать БД, но это было достаточно медленно, чтобы не использовать! Есть ли способ обмена данными между различными клиентами одного веб-сервиса?
и второй вопрос: хорошо ли использовать веб-сервисы?
Я думал о сокетах, но дело в том, сколько портов у нас на сервере, чтобы отвечать на запросы клиентов?
и если веб-сервисы удобны в использовании, то как мне продлить время игры на сервере, когда какой-либо клиент не запрашивает данные, а веб-сервис недоступен?
Благодарю.
Сокеты, как правило, намного быстрее, чем веб-сервисы. Вы можете использовать их в своей реализации.
Я думал о сокетах, но дело в том, сколько портов у нас на сервере, чтобы отвечать на запросы клиентов
Им не требуется порт для каждого соединения. Для службы требуется один порт, и вы можете создать множество объектов сокетов между клиентом и сервером.
Других решений пока нет …