Как совместить подходы P2P и веб-сервера? - PullRequest
2 голосов
/ 23 февраля 2010

Я бы хотел запрограммировать компьютерную игру, в которую должны играть несколько участников. И мне нужно сделать это двумя разными способами. Первый способ - запрограммировать веб-сайт, где люди могут войти и играть. Второй способ - запускать программы локально и обмениваться данными друг с другом, используя подход P2P.

Я знаю, как программировать в обоих направлениях. В первом случае я могу использовать PHP. Во втором способе я использую Python или Java. Но в этом случае мне нужно сделать одну и ту же работу дважды (используя разные языки). И я хочу этого избежать (поэтому мой вопрос - как я могу это сделать).

Я почти решил свою проблему, но в конце концов я понял, что она не будет работать таким образом. Я хотел использовать JavaScripts. Я думал, что с помощью JavaScript я могу запрограммировать интерфейс для игры, который читает и пишет в локальный файл. И затем, в случае веб-сервера, я загружаю и загружаю локальный файл на сервер. А в случае подхода P2P я использую сетевые инструменты Java или Python для обмена локальными файлами между компьютерами пользователя.

Но потом я обнаружил, что JavaScript не может читать данные с веб-сервера. Итак, моя идея провалилась. У кого-нибудь есть идеи получше?

Ответы [ 2 ]

1 голос
/ 23 февраля 2010

Но потом я обнаружил, что JavaScript не может читать данные с веб-сервера.

Это не правда. Вам нужно будет использовать AJAX для запроса веб-сервера со страницы Javascript. Если вы знакомы с Java, посмотрите руководства по J2EE и создайте свое веб-приложение с использованием Java. Таким образом, вы все равно можете иметь базу Java для всех и два разных интерфейса.

0 голосов
/ 24 февраля 2010

Так что я предполагаю, что вы хотите, чтобы эта компьютерная игра была единым игровым миром; включая как веб-клиентов, так и обычных участников .exe.

Очень понятно, что вы хотите программировать только 1 ядро. Стандартное решение из мира P2P - это использование демона и интеграция в него легкого HTTP-сервера. Браузер может указывать на http://localhost:8821 и таким образом подключаться к ядру. Обычный исполняемый файл содержит графический интерфейс и ядро. Так что ядро, вероятно, лучше всего сделать на Python или около того. Затем вы можете превратить это в исполняемый файл; плюс в установщике браузера .xpi.

Надеюсь, краткое описание архитектуры, представленное выше, понятно.

-Johan.

...