2008-12-05 17 views
5

Estoy trabajando en un proyecto en el que un programa que se ejecuta en el teléfono móvil necesita comunicarse con un programa que se ejecuta en la PC a la que está conectado. Idealmente, me gustaría usar USB, WiFi, lo que sea para comunicarme.Windows Mobile (C#) - Comunicación entre teléfono y PC

Los dos programas deberían ser capaces de comunicar cosas como la duración de la batería, los mensajes de texto, etc. Pero puedo trabajar en eso más adelante, solo necesito que hablen.

¿Cuál es la mejor manera de hacerlo?

Respuesta

2

"mejor" es muy subjetiva y depende de muchos factores como dispositivos, topología, la presencia de cortafuegos, la necesidad de seguridad, etc altamente, etc.

¿Dónde necesita los comunicadores para originar y le habrá una conexión ActiveSync? Si la PC inicia las comunicaciones y tienes ActiveSync, entonces RAPI es el transporte que usarías ya que tiene toda la infraestructura lista y lista.

Para cualquier otra cosa vas a necesitar algún tipo de protocolo propietario y mecanismo de transporte. Habitualmente, escribo un protocolo de socket simple con una estructura de mensaje definida (generalmente una ID de mensaje, CRC, longitud de mensaje y carga útil de datos). Luego tengo una clase de mensaje base que maneja las comunicaciones y un conjunto de mensajes derivados para cada comando específico que quiero. Para cosas bidireccionales que requieren una respuesta, típicamente creo una clase base de respuesta y luego derivo formatos de respuesta específicos.

3

Suponiendo que tiene una conexión wifi, una forma de que su programa Windows Mobile se comunique con su PC sería usar WCF en .NET compact framework 3.5.

Debería crear una nueva aplicación WCF para ejecutar su PC y exponer una interfaz que exponga las funciones a las que desea llamar desde su dispositivo Windows Mobile.

WCF en Windows Mobile requiere que se instale Compact Framework 3.5 en su dispositivo. También necesita los "juguetes de potencia de Windows Mobile" para poder generar proxies compatibles para llamar desde Windows Mobile.

Power Toys for .NET Compact Framework 3.5

Llamando al servicio WCF desde su dispositivo WM también requiere ajustar manualmente hasta el punto final de la unión y para pasar a la proxy de servicio web (con WCF escritorio Esto se hace automáticamente mediante la carga de un archivo de configuración)

WCF en Windows Mobile actualmente solo es compatible con el enlace HTTP básico (que se puede encriptar si lo desea), pero esto puede ser suficiente para sus necesidades.

+0

Eso es un enfoque muy limpio. Seguro que requiere relativamente mucha codificación, pero suena muy bien. – Ash

0

WIMO está trabajando en la compatibilidad de WiFi con el escritorio y es posible que se realice. Puede valer la pena mirar el código de cualquier manera.

home

source

Cuestiones relacionadas