синхронизация в реальном времени между двумя устройствами по беспроводному сигналу - PullRequest
0 голосов
/ 18 августа 2010

Я никогда не занимался встроенным (я не знаю, так ли это называется) программированием и ничего не знаю об этом.мой вопрос:

  1. возможно ли иметь два устройства, использующих беспроводное соединение (без интернета, только между собой, возможно, через bluetooth, но я не знаю, что будет лучше)

  2. возможно ли, чтобы один редактировал файл, а другой - один и тот же файл, и они могли видеть изменения в реальном времени?вроде как Google Docs?

  3. это уже существует?

  4. что я могу сделать, чтобы начать работать с этим видом программирования?

, чтобы уточнить:

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

Ответы [ 4 ]

2 голосов
/ 18 августа 2010

В ваших вопросах спрятано несколько странных предположений.Я постараюсь снять их как можно лучше.

Вы использовали "встроенное" программирование странным образом.Обычно это предполагает использование каких-то устройств с низким энергопотреблением, используемых в настройках, без какого-либо непосредственного взаимодействия с пользователем (например, заводские контроллеры, контроллеры холодильника, сенсорные узлы), выполняющих очень специфическую задачу, но вы начали говорить о редактировании людей.файлы.Каким именно будет здесь пользовательский интерфейс?Что сделает это встроенное программирование?Я думаю, что вам нужно описать приложение, прежде чем можно будет дать какой-либо совет.

Если вы на самом деле имеете в виду встроенные устройства, то возможность их беспроводного подключения друг к другу будет зависеть от характера устройства.Точно так же протокол / технологии будут зависеть от устройства.Встроенное программирование обычно зависит от устройства.Например, существуют беспроводные сенсорные узлы, которые включают в себя небольшие радиопередатчики для последовательной связи.

Документы Google уже существуют.Без более четкого описания проблемы трудно сказать, существует ли то, что вы хотите, уже или нет.

Я думаю, что вы действительно должны выяснить, какой именно вид программирования вы хотите сделать, прежде чем мы сможем предложить точки, чтобыкак лучше всего начать с этим.Возможно, посмотрите определение «встроенного программирования» и посмотрите, как это соотносится с вашими целями, так что вы можете сформулировать свои вопросы чуть более четко.

Я не уверен, как «реальное время» вписалось бы в это.сценарий тоже.Этот термин используется и злоупотребляет во многих отношениях.Вещи только в режиме реального времени в отношении некоторого ограничения, обычно определяемого в терминах приложения.

(Примечание: это могло бы быть более подходящим в качестве комментария, но я чувствовал, что было слишком много, чтобы ответить начтобы подвести итог в пределах характера, и я надеюсь, что исправление некоторой путаницы представляет собой что-то вроде ответа, учитывая ограничения вопроса).

1 голос
/ 18 августа 2010
  1. Два устройства могут использовать одно и то же соединение. Это делается все время. Есть много много протоколов для этого. Погода или нет, она проводная или беспроводная или использует Интернет, на самом деле не имеет значения для 90%.

  2. Это выполнимо, но не совсем. У вас действительно есть состояние гонки, когда два человека редактируют одновременно. Этого, как правило, можно избежать, блокируя небольшие части документа одновременно от всех, кроме одного редактора (как, например, только один человек может редактировать одну ячейку электронной таблицы за раз), но с этим тоже есть проблемы (например, одна Активный редактор занимает слишком много времени - эта проблема наблюдается и во многих системах контроля версий исходного кода).

  3. 1 уже существует во многих формах. Этот вид существует во многих формах, но проблемы, которые я упомянул, невозможно полностью преодолеть.

  4. То, как вы задали этот вопрос, заставляет меня поверить, что вы очень далеки от того, чтобы сделать это. Кроме того, вы ничего не сказали нам о том, что вы знаете, как делать. Можете ли вы написать простой текстовый редактор для iPhone (или что-нибудь еще)? Простые текстовые редакторы с нуля, которые не являются дерьмовыми, нелегко написать.

Что вам нужно сделать, если вы действительно хотите это сделать, так это придумать протокол для двух (или более) устройств, с которыми можно общаться друг с другом. Для этого, вероятно, лучше всего выяснить, какой тип связи доступен между устройствами и какими из них вы будете пользоваться и какие функции он не предоставляет, которые вам понадобятся сверху.

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

В качестве альтернативы вы можете иметь два устройства для обмена правами на внесение изменений (как в сетях Token Ring).

У вас все еще есть проблема, если эти два устройства теряют связь друг с другом во время редактирования файла. С настройкой типа Token Ring у вас есть возможность потерять токен, и ни один из них не сможет автоматически восстановиться легко. Что бы вы ни делали, вы сталкиваетесь с проблемой того, что эти два понятия заканчиваются различными представлениями о содержимом файла.

1 голос
/ 18 августа 2010

«iphones или любое другое портативное устройство» - технологический стек, который не существует сегодня. Вы должны координировать между несколькими языками и системами. (Хорошо, может быть, вы хотите написать это программное обеспечение, но это огромная задача).

Лучше всего было бы создать веб-страницу, с которой могут работать все мобильные браузеры, и сохранить текстовый файл.

0 голосов
/ 18 августа 2010
  1. Конечно, это возможно . Bluetooth делает это. Wi-Fi делает это, если вы подключаетесь к специальной сети.
  2. Конечно, это возможно . Просто запустите сервер Google Docs на одном из устройств.
  3. Может.
  4. Слишком расплывчато.
...