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