IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Windows Forms Discussion :

Communication entre windows form app et android


Sujet :

Windows Forms

  1. #1
    Membre du Club
    Profil pro
    Électro-mécano-informaticien à ses heures
    Inscrit en
    Août 2010
    Messages
    95
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations professionnelles :
    Activité : Électro-mécano-informaticien à ses heures

    Informations forums :
    Inscription : Août 2010
    Messages : 95
    Points : 55
    Points
    55
    Par défaut Communication entre windows form app et android
    Bonjour,
    J'écris actuellement un serveur C++ (Windows Form Application .NET 4.0 C++, vs 2010) et un client Android. Je souhaite que le client Android envoie des message lors d'appui sur certains boutons au serveur sur windows. Mon serveur semble bien fonctionner, lorsque je fais un "netstat -a" je vois l'adresse IP et le port en écoute. Le client Android démarre bien lui aussi sur mon mobile. Par contre, lorsque j'appuie sur les boutons du client android, le serveur ne réagit pas. Je ne sais plus où chercher. Donc, toutes aides serait apprécié. Merci. Les sources sont en pièces jointes.
    Pour plus d'éclaircissement, n'hésitez pas a demander.

    Client Android : MainActivity, MyCustomAdapter et TCPClient
    Serveur Windows : form.h
    Fichiers attachés Fichiers attachés

  2. #2
    Membre du Club
    Profil pro
    Électro-mécano-informaticien à ses heures
    Inscrit en
    Août 2010
    Messages
    95
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations professionnelles :
    Activité : Électro-mécano-informaticien à ses heures

    Informations forums :
    Inscription : Août 2010
    Messages : 95
    Points : 55
    Points
    55
    Par défaut
    Je galère vraiment :/ le développement est différent sur cette plateforme comparé à celle que je suis habitué. Je cherche toujours de l'aide. S'il faut que j’éclaircisse quelque chose sur le sujet, n'hésitez pas à en faire part.

  3. #3
    Expert éminent Avatar de Graffito
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    5 993
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 5 993
    Points : 7 903
    Points
    7 903
    Par défaut
    Danns un premier temps, vérifier qu'un ping du serveur par le system android indique une réponse.

    Dans un deuxième temps, il faudrait essayer de valider le serveur Winsows avec un client Windows fonctionnant sur un autre PC.
    Cela permettra en particulier de vérifier les problèmes éventuellement liés au FireWall.
    " Le croquemitaine ! Aaaaaah ! Où ça ? " ©Homer Simpson

  4. #4
    Membre du Club
    Profil pro
    Électro-mécano-informaticien à ses heures
    Inscrit en
    Août 2010
    Messages
    95
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations professionnelles :
    Activité : Électro-mécano-informaticien à ses heures

    Informations forums :
    Inscription : Août 2010
    Messages : 95
    Points : 55
    Points
    55
    Par défaut
    J'ai effectué un ping avec android et le système reçois les réponses en dedans de 23 ms. Avec un "netstat -a" sur windows je vois le serveur en écoute sur l'interface et sur le port. J'ai effectué une modification dans le serveur pour me permettre de voir les données qu'il reçois par le client android. Le serveur semble recevoir une panoplie de zéro ( Ex. : "0000000000000000000"). Pourtant les commandes envoyer par le client sont de la taille d'un octet. À la limite quelque chose comme 16 octet.

  5. #5
    Membre du Club
    Profil pro
    Électro-mécano-informaticien à ses heures
    Inscrit en
    Août 2010
    Messages
    95
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations professionnelles :
    Activité : Électro-mécano-informaticien à ses heures

    Informations forums :
    Inscription : Août 2010
    Messages : 95
    Points : 55
    Points
    55
    Par défaut
    Je vais présenter mon problème d'une autre manière, voici donc :
    J'ai un client tcp sur Android qui cherche a communiquer avec un serveur tcp sur Windows. L'application serveur doit (elle est en ce moment même) être un "windows form application". Il y a une possibilité de 5 commandes différentes de la taille d'1 octet chaque pouvant provenir du client. Est-ce qu'il est possible d'avoir un serveur simpliste fonctionnel fonctionnant à l'aide d'un "backgroundWorker" du Windows Forms?

    P.-S.->Je cherche tout simplement à comprendre et à avoir quelque chose de fonctionnel pour enfin me reconforter

    Voici le code du backgroundWorker que j'ai en ce moment :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
     
    private: System::Void ServerBackgroundWorker_DoWork(System::Object^  sender, System::ComponentModel::DoWorkEventArgs^  e) {
     
    			array<Byte>^ addr = {192,168,1,5};
    			IPAddress^ listenInterface = nullptr;//IPAddress::Any;
    			unsigned short listenport = 1234;
    			int buffersize = 16;
    			TcpListener^ tcpServer = nullptr;
    			Socket^ tcpClient = nullptr;
    			array<Byte>^ receiveBuffer = gcnew array<Byte>(buffersize);
    			int rc = 1;
     
    			listenInterface = gcnew IPAddress(addr);
    			tcpServer = gcnew TcpListener(listenInterface, (int)listenport);
     
    			tcpServer->Start();
    			tcpClient = tcpServer->AcceptSocket();
    			tcpClient->Receive(receiveBuffer);
     
    			String^ readText = System::Text::Encoding::ASCII->GetString(receiveBuffer, 0, rc);
     
     
    			unsigned char Buffer [1];
    			DWORD ActualLength;
    			Buffer[0] = 0;
     
                            //test logique des possibilitées provenant du client
    			if(readText->Equals("a") || readText == "a" || readText2->Equals("a") || readText2 == "a"){
    				Buffer[0] = 0x15;
    			}
    			if(readText->Equals("b") || readText == "b" || readText2->Equals("b") || readText2 == "b"){
    				Buffer[0] = 0x16;
    			}
    			if(readText->Equals("c") || readText == "c" || readText2->Equals("c") || readText2 == "c"){
    				Buffer[0] = 0x17;
    			}
    			if(readText->Equals("d") || readText == "d" || readText2->Equals("d") || readText2 == "d"){
    				Buffer[0] = 0x18;
    			}
    			if(readText->Equals("e") || readText == "e" || readText2->Equals("e") || readText2 == "e"){
    				Buffer[0] = 0x19;
    			}
    			if(Buffer[0] != 0){
    			if(AttachedState == TRUE)	
    				{
    					if(MPUSBWrite(EP1OUTHandle, Buffer, 1, &ActualLength, 1000))	
    					{
    						//if(MPUSBRead(EP1INHandle, Buffer, 3, &ActualLength, 1000))	
    						//{
     
    						//}
    					}
    				}
    				else
    				{
     
    				}
    			}
    				Sleep(4);
     
    			//closing client
    			tcpStream->Close();
    			tcpStream = nullptr;
    			binreader->Close();
    			binreader = nullptr;
    			tcpClient->Close();
    			tcpClient = nullptr;
    			tcpServer->Stop();
    		 }

Discussions similaires

  1. [débutant] communication entre 2 form
    Par isoman dans le forum Windows Forms
    Réponses: 4
    Dernier message: 15/12/2008, 14h41
  2. Communication entre une Form et une boite de dialogue
    Par mhamdi45 dans le forum Windows Forms
    Réponses: 1
    Dernier message: 26/10/2008, 10h06
  3. communication entre 2 forms
    Par bellak dans le forum Windows Forms
    Réponses: 6
    Dernier message: 04/08/2008, 15h46
  4. [résolut] Problème de passage de valeur entre Windows Form
    Par tribaleur dans le forum Windows Forms
    Réponses: 4
    Dernier message: 12/06/2007, 11h29
  5. [VB.Net][debutant]passage de variable entre windows form
    Par ChristopheOce dans le forum Windows Forms
    Réponses: 1
    Dernier message: 26/07/2006, 14h18

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo