Перейти к содержанию
Fire Monkey от А до Я
  • 0

Обмен данными между приложениями через интернет


Виктор

Вопрос

Допустим есть несколько копий приложения запущенных с разных компьютеров не в локальной сети. Расскажите как лучше всего организовать обмен информацией между ними? Какими компонентами лучше воспользоваться, как все построить? Предположим есть два варианта, у нас есть отдельно стоящий компьютер выполняющий роль сервера, и вариант когда такого компьютера нет. Для справки допустим что мы создаем самый простой аркадный Примитивный космический симулятор, для некой ролевой игры.

Ссылка на комментарий

Рекомендуемые сообщения

  • 0

Мда....

1. Без сервера никак. Любое приложение с сервером общается, даже с другим телефоном через статичный в  интернете сервер.

2. Свой протокол :)

3. DataSnap тебе в помощь, как вариант

4. Почитай про BaaS, тоже вариант

5. Также почитай про REST, JSON. можно и xml

6. Пример взаимодействия мобильного приложения на базе ВК по протоколу mtproto (Разработан братом Дурова-основателя ВК). Так для общего представления можно почитать.

 

Ну вот то что надо знать, для поиска пути решения твоего вопроса.

Ссылка на комментарий
  • 0

Во-первых, твой вопрос, Виктор, противоречит правилам форума, насколько я помню, т.е. не связан с Fire Monkey напрямую. Однако администрация здесь лояльная, и поэтому если ты хотя бы напишешь что будешь создавать это на FireMonkey используя HD или 3D приложение, то всё будет норм. А так твой вопрос связан с другой областью по сути, Хотя лично мне вопрос кажется интересным.

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

 

В-третьих: указывай среду разработки, Delphi7 или XE или может ты вообще на Builder или на чем то еще.

А теперь подробнее:

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

Если сервера нет, то обмен данными между запущенными приложениями через интернет невозможен.

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

Хотя если вы всего пару приложений запускается на разных машинах, то можете через указание ip сделать. Но если вашу игру будут скачивать разные люди, вам не подвластные, и вам не знакомые, то такой вариант сразу в мусорку. Фигачить тока через сервак.

 

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

Если вопрос синхронизации не стоит остро, т.е. время отклика (пинг) может быть и большим, например и 500мс или вообще передача данных у вас будет только по нажатию кнопки, а не постоянная связь, то можете использовать GET и POST запросы для клиентской части. Если же пинг критичен, и пинг нужен максимальный, то нужно использовать сокеты. 
Для реализации GET и POST запросов есть компонент idHTTP из разделов Indy. Есть и сторонний компонент Synapse. Но последнее время отдаю предпочтение Indy. Для использования сокетов компоненты TCPServer и TCPClient. 

 

Если будешь использовать idHTTP и GET/POST то сервре может быть любым, хоть на делфи, хоть PHP.

С сокетами сложнее, да и сами они в программировании сложнее, хотя и не лишены плюсов.

 

Более подробно, тока после того как более подробно распишешь что и как тебе надо.

Ссылка на комментарий

Присоединяйтесь к обсуждению

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

Гость
Ответить на вопрос...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

  • Последние посетители   0 пользователей онлайн

    • Ни одного зарегистрированного пользователя не просматривает данную страницу
×
×
  • Создать...