2013-08-07 4 views
0

У меня есть приложение для Android и другое приложение для ПК, оба были написаны мной. Приложение Android подключается к ПК-приложению, а приложение ПК отправляет данные (в реальном времени) на смартфон.Сервер пересылки данных

Проблема: если компьютер подключен к мобильной беспроводной сети, я не могу получить его адрес, поэтому я не могу подключить свое приложение для Android к ПК.

Итак, есть ли какое-то простое приложение (для Windows), которое я могу использовать в качестве сервера для пересылки данных. ПК и мобильное приложение будут подключены к этому серверу (запущенному на станции со статическим адресом), и сервер будет просто пересылать данные из одного приложения в другое?

Или, может быть, есть хорошие учебные пособия для создания такого рода серверов на C#/Java?

+0

Какой протокол связи вы используете? – orique

+0

TCP. Я работаю хорошо, когда мобильное приложение подключается непосредственно к ПК. Но я буду использовать UDP для уменьшения латентности. –

ответ

0

Я бы использовал третий компьютер (сервер), который выступает в качестве моста для Android и ПК. Я написал веб-службу в .NET для виртуального сервера в Интернете. И Android, и ПК знают IP-адрес (или доменное имя) сервера.

ПК разговаривает с сервером, используя собственный сетевой вызов .NET, Android использует ksoap.

Для получения дополнительной infomration о ksoap для андроид смотрите здесь:

http://code.google.com/p/ksoap2-android/

EDIT: Я полагаю, вы можете иметь веб-сервера в компьютере, но вам нужно настроить модем для передачи определенных портов к компьютеру. Но если у вас нет статического IP-адреса, вам нужно перенастроить ip-адрес на устройстве Android каждый раз, когда ваш модем перезагружается (или выключается/включается). Вы также можете попробовать использовать динамические услуги Dns ...

+0

Решение должно быть простым для пользователя ПК. Пользователь просто запускает приложение и нажимает «connect», а затем всякая магия происходит на стороне сервера, сервер ждет подключения из мобильного приложения, а затем пересылает данные. Я создал какой-то такой сервер, но он работает не очень хорошо). Итак, мне нужен полный серверный модуль (библиотека, приложение) или учебник для его создания. –

+0

Хммм Я написал свой собственный сервер, и он отлично работает. Вы использовали веб-службы на своем сервере? –

+0

Я написал это на Java, но я собираюсь сделать это на C#. Просто ищет правильный способ обработки отключений, асинхронное получение/отправку. –

0

Проверьте это: http://whiletrue.blog.com/2013/07/11/smartphone-as-pc-controller/

Я сделал это с Muzzley. В принципе, у вас уже есть большая часть работы, если вы интегрируетесь с ней. (отказ от ответственности: я работаю для этого проекта)

На стороне ПК, вы можете использовать LIB, чтобы включить в вас ПК приложение на нескольких языках:

На смартфоне стороны, вы можете использовать любого из существующих виджетов (виртуальные интерфейсы):

или в конечном итоге сделать свой собственный:

Пример:

Вы можете вытащить из GitHub несколько примеров здесь:

(проверьте WebView пример)

Надеюсь, это поможет.