Создавать соединения UDP и TCP в браузерной игре? - PullRequest
1 голос
/ 14 ноября 2010

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

Существует два сценария для многопользовательской игры.Во-первых, игрок становится хозяином игры (в браузере) и, следовательно, должен будет общаться с другими игроками напрямую через TCP или UDP.Это сэкономило бы мне расходы на пропускную способность.

Второй сценарий - размещение игры на веб-сервере и повторная передача сообщений клиентам через TCP или UDP.или Java-апплеты позволяют мне делать что-то подобное?Если нет, есть ли альтернатива, которую я могу использовать для браузера, или я застрял с переходом на загрузку и установку игры?

Ответы [ 3 ]

0 голосов
/ 14 ноября 2010

Javascript не может сделать UDP.Апплеты могут устанавливать соединения обратно к своему источнику, несмотря ни на что, и они могут выполнять больше сетевых операций, если они подписаны, и только если пользователь включает Java и доверяет вашему сертификату.Учитывая недавнюю историю вредоносных апплетов на Facebook, я не планировал бы использовать апплет, если вы хотите создать браузерную игру.

0 голосов
/ 14 ноября 2010

Это возможно во Flash:

  • Вариант 1 с централизованным сервером и сквозным пирингом: Использование одноранговых узлов (только с UDP) во Flash возможно, но в настоящее время используется бета и требует пользователи должны иметь Flash Player 10 или 10.1, в зависимости от вашей реализации. См. пример демонстрационной игры .

  • Второй вариант с централизованным сервером: Можно использовать Протокол обмена сообщениями в реальном времени (только с TCP). Многопользовательские Flash-игры в реальном времени обычно используют это. У вас также есть возможность обмениваться данными через HTTP.

0 голосов
/ 14 ноября 2010

Оба Java-апплета / веб-приложения запуска позволяют устанавливать сетевые подключения для игр и т. Д.

Во-первых, игрок становится хостом игры (в браузере) и, следовательно, должен будет общаться с другими игроками напрямую через TCP или UDP.

Java применяет «ту же политику происхождения», которая гласит, что (без специального разрешения пользователя) ваше приложение может подключаться только к тому серверу, с которого оно пришло.

AFAIK, то же самое относится и к Flash-приложению.

Вторым сценарием будет размещение игры на веб-сервере и повторная передача сообщений клиентам по TCP или UDP.

Вероятно, так будет, если вы не хотите запрашивать у пользователя специальные разрешения.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...