Windows Mobile (C #) - связь между телефоном и ПК - PullRequest
5 голосов
/ 05 декабря 2008

Я работаю над проектом, в котором программе, запущенной на мобильном телефоне, необходимо связаться с программой, запущенной на ПК, к которому она подключена. В идеале я хотел бы использовать USB, WiFi, что угодно для связи.

Обе программы должны иметь возможность сообщать о таких вещах, как время работы от батареи, текстовые сообщения и т. Д. Но я могу поработать над этим позже, мне просто нужно заставить их говорить.

Какой лучший способ сделать это?

Ответы [ 5 ]

3 голосов
/ 05 декабря 2008

Если у вас есть подключение к Wi-Fi, один из способов взаимодействия программы Windows Mobile с вашим ПК - это использование WCF в .NET compact framework 3.5.

Вы бы создали новое приложение WCF для запуска вашего ПК и открыли интерфейс, предоставляющий функции, которые вы хотите вызывать с вашего устройства Windows Mobile.

WCF в Windows Mobile требует наличия Compact Framework 3.5 на вашем устройстве. Вам также понадобятся «мощные игрушки Windows Mobile», чтобы иметь возможность генерировать совместимые прокси для вызова с Windows Mobile.

Power Toys для .NET Compact Framework 3.5

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

WCF в Windows Mobile в настоящее время поддерживает только базовую привязку http (которую можно зашифровать, если хотите), но этого может быть достаточно для ваших нужд.

2 голосов
/ 05 декабря 2008

«Наилучшее» действительно субъективно и сильно зависит от множества факторов, таких как устройства, топология, наличие брандмауэра, потребность в безопасности и т. Д. И т. Д.

Откуда вам нужны исходящие сообщения и будет ли у вас подключение ActiveSync? Если ПК инициирует передачу данных и у вас есть ActiveSync, тогда RAPI - это транспорт, который вы будете использовать, так как вся инфраструктура готова и готова.

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

1 голос
/ 05 декабря 2008

Вы можете попробовать заглянуть в библиотеку OpeNETCF.Desktop.Communications. Вы можете начать с http://www.opennetcf.com/FreeSoftware/tabid/84/Default.aspx и перейти по ссылкам, чтобы найти необходимые загрузки. (Я думаю, вам может понадобиться получить его из хранилища Subversion).

0 голосов
/ 05 апреля 2015

нашел это в 2015 году, поэтому я не думаю, что ответ будет актуален для первоначального автора, но для записи: близость https://msdn.microsoft.com/en-us/library/windows/apps/xaml/hh465205.aspx

0 голосов
/ 05 декабря 2008

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

дом

источник

...