2008-10-01 8 views
1

Nous sommes en train de développer un périphérique de mesure qui fonctionnera CE 6.0 avec CF 3.5 sur matériel embarqué x86, un PC est utilisé pour contrôler le périphérique et est connecté avec elle en utilisant Ethernet.Comment communiquer entre le périphérique CE 6.0 (en tant que serveur) et le PC (en tant que client)

Nous aimerions communiquer à l'aide des interfaces (à l'aide de DCOM (nous savons que ce n'est pas pris en charge par défaut sur CE6), .NET Remoting ou services Web) au lieu de protocole en utilisant une sorte de (personnalisé). Les méthodes d'appel définies dans une interface sont tellement plus faciles et élégantes que l'analyse des données brutes.

Quelle serait la meilleure solution dans ce cas?

Répondre

1

J'ai déjà eu l'occasion de configurer des communications entre des périphériques CE et un PC, et j'ai utilisé des interfaces personnalisées en utilisant winsock (en retournant quelques octets en avant et en arrière) et j'ai essayé SOAP. Dans Windows CE 5.0, le serveur SOAP fourni par Microsoft a supprimé notre appareil toutes les deux ou trois heures environ. J'ai passé plusieurs semaines à essayer de comprendre ce qui n'allait pas, pensant que j'avais fait quelque chose de mal. Donc, je préfère rester à Winsock maintenant parce qu'au moins j'ai une chance de savoir ce qui se passe et je peux le réparer.

En outre, les périphériques CE ne sont pas toujours les plus rapides en fonction du matériel dont vous disposez. Les services Web prennent un peu de temps et convertissent les données au format XML, ce qui peut être un coup de performance que vous êtes ou n'êtes pas en mesure de vous permettre.

2

Si vous utilisez CE 6 et .NET Compact Framework 3.5, avez-vous envisagé d'utiliser Windows Communication Foundation (WCF)? Vous devrez écrire votre propre moyen de transport, mais lorsque cela sera fait, vous pourrez facilement utiliser vos interfaces de service.

0

Comme Scott, nous avons utilisé des communications à base de socket pour des raisons de performance et de stabilité. Le code fonctionne bien sur tous les appareils, de Windows CE 2.1 à 6.0. J'ai trouvé le manuel des développeurs de Windows CE, ISBN 0-7821-2414-3, très utile pour développer cette fonctionnalité, bien qu'en C++ plutôt qu'en C#.

Questions connexes