2010-07-10 9 views
1

Je tente de créer une application client TCP pour un PDA avec Windows Mobile 6 Professional. J'ai essayé de le faire d'abord sur mon ordinateur portable et cela a fonctionné. Le code pour le "périphérique intelligent" est exactement le même mais cela ne fonctionne pas.Client TCP C# pour WM6

Ici, il est le code:

// IP and Port 
string IP = "192.168.1.68"; 
int port = 1000; 

// TCP connection 
TcpClient connection; 
StreamReader TCPreader; 
StreamWriter TCPwriter; 

//(...) 

    try 
    { 
     connection = new TcpClient(IP, port); 
     NetworkStream stream = connection.GetStream(); 
     TCPreader = new StreamReader(stream); 
     TCPwriter = new StreamWriter(stream); 

     // wait for welcome message 
     status_label.Text = TCPreader.ReadLine(); 
    } 
    catch(Exception ex) 
    { 
     MessageBox.Show("ERROR: " + ex.Message); 
    } 

Une exception est levée sur la méthode "readLine()" appel. Je ne peux pas obtenir le message, sinon je reçois quelque chose comme ceci "ce message d'exception n'est pas installé, vous devez installer NETCFv35.messages.en.cab". J'ai déjà installé ce .cab mais j'ai le même message.

Qu'est-ce qui ne va pas? Pourquoi ce code fonctionne sur mon ordinateur portable (WinForms app/NET3.5) et ne fonctionne pas sur PDA (Smart Device/NETCF3.5)? Toute suggestion?

Merci d'avance!

+0

Comment vous connectez-vous au réseau via le PDA? 192.168.1.68 est-il accessible par le PDA? Vous pouvez utiliser http://wmnettools.codeplex.com/ pour déboguer les problèmes de réseau. – codekaizen

+0

Voici ce que j'ai: un ordinateur portable, Arduino avec un WiShield (si vous ne savez pas ce que c'est, son matériel avec une pile TCP et un serveur TCP fonctionnant dedans) et un PDA (HTC Touch avec WM6). Avec mon ordinateur portable, je n'ai aucun problème. Je peux "ping" 192.168.1.68 et envoyer/recevoir des messages de lui. Avec le PDA, il semble se connecter, mais je ne peux pas recevoir/envoyer des données. Le pare-feu est désactivé à des fins de test. Je vais essayer l'application que vous avez référée. – msr

+0

Bien après avoir essayé "Net Tools", voici ce que je reçois: "Demande expirée" "Demande expirée" "Demande expirée" "ERREUR, une exception native est apparue dans NetToolsV2.exe". Frustrant ... Pourquoi PDA ne peut pas atteindre 192.168.1.68? Même avec un pare-feu désactivé? – msr

Répondre

0

Vérifiez votre pare-feu et que votre serveur est en cours d'exécution.

Je ne sais pas pourquoi vous ne pouvez pas voir les messages d'erreur; essayez de le convertir en SocketException et en extrayant le ErrorCode.

+0

Le pare-feu est désactivé et j'obtiens toujours cette erreur. Impossible de se connecter au serveur TCP. – msr

1

Je pense avoir trouvé le problème. Alors que mon PDA est connecté via USB à mon ordinateur portable, le WiFi est désactivé. Arghhh Je viens de déconnecter PDA de mon ordinateur portable et maintenant je ne peux pas envoyer/recevoir des messagens de 192.168.1.68.

Merci à tous pour vos conseils!