2013-08-25 2 views
9

Меня больше интересует общий ответ для мобильных устройств, но что-то специфическое для Android будет приемлемым.Прямая связь между двумя мобильными устройствами

С учетом 2 мобильных устройств, как я могу получить связь между ними. Я новичок в разработке мобильных устройств, и я не уверен, какие мобильные устройства NAT стоят позади. Возможно ли выполнить какую-либо «дырочную штамповку» (используя внешний сервер для получения соединения), чтобы соединить их вместе?

Я рассмотрел этот вопрос, но это не помогло мне слишком много, я до сих пор не знаю, как получить IP-адрес и/или пересечь NAT. Android - communicating between two devices

ответ

4

Если вы хотите использовать общий беспроводной модуль, такой как GSM, UMTS, LTE, вам необходимо предоставить автономное оборудование с реализацией желаемых протоколов. Для GSM вы можете посмотреть OpenBTS http://openbts.org/, который является бесплатным программным обеспечением.

В качестве других возможностей связи вы можете использовать Wi-Fi Peer-to-Peer http://developer.android.com/guide/topics/connectivity/wifip2p.html для установления соединения Wi-Fi.

Коммуникационные способности основаны на спецификациях чипа, не все Wi-Fi поддерживают этот вид соединения. С другой стороны, вы также можете установить Bluetooth-соединение.

1

Я бы подключил их к серверу в Интернете - возможно, веб-сервер - возможно, вы начинаете с экземпляра Amazon EC2. Телефон отправляет сообщения на сервер с использованием HTTP-запроса, а сервер отправляет сообщения на другой телефон, используя HTTP Push. Skype, и он использовал метод, называемый UDP hole punching, для связи однорангового (хотя и опосредованного через центральный сервер), хотя я считаю, что им пришлось остановиться из-за законного перехвата (cough NSA).

Смежные вопросы