Communication PDA/PC par sockets

Signaler
Messages postés
52
Date d'inscription
mercredi 27 avril 2005
Statut
Membre
Dernière intervention
5 août 2008
-
Messages postés
14
Date d'inscription
dimanche 15 avril 2007
Statut
Membre
Dernière intervention
14 mars 2010
-
Bonjour, j'aimerai faire communiquer un PDA avec un PC par des sockets en C#.

J'aimerai tester cette liaison en faisant un boutton sur le PDA, qui une fois actionné, affiche un message tout bête sur le PC.

Malheuresement je n'arrive pas à créer de socket, ni sur le PDA, ni sur le PC.

J'ai essayé sur le PC avec :


private void button1_Click(object sender, EventArgs e){

 IPAdress localAddr = IPAddress.Parse("127.0.0.1");

  try{

    TcpListener serv = new TCPListener(localAddr,1540);

    serv.Start();

    serv.AcceptTcpClient();

  }catch (SocketException ex){

     ...

  }

}

Je ne sais pas si cette solution part dans le bon sens.

Coté PDA, j'ai mis dans le try :

TcpClient c1 = new TcpClient();

c1.Conect(IPAddress.Parse("127.0.0.1"), 1540);

Malheuresement, lorsque je lance l'appli, le PC se met en attente mais je ne sais pas de quoi.

3 réponses

Messages postés
630
Date d'inscription
samedi 15 février 2003
Statut
Modérateur
Dernière intervention
9 octobre 2011
1
Peut-être un début de solution ici
Je suis pas un pro dans ce domaine, mais tu utilises quoi comme connection ?
Si c'est via activeSync cela risque d'être coton, il me semble que les ports utilisés sont assez restreints
Le savoir ne sert que si il est partagé par tous
Messages postés
52
Date d'inscription
mercredi 27 avril 2005
Statut
Membre
Dernière intervention
5 août 2008

Voila une petite soluce :

Coté PDA :

...

try{

  IPHostEntry entry = Dns.GetHostEntry("PPP_PEER");

  IPHostEntry local_entry = Dns.GetHostEntry(Dns.GetHostName());

  IPAdress clip = entry.AddressList[0];

  TcpClient cl = new TcpClient();

  ...

  cl.Connect(clip, 1540);
  NetworkStream stream = cl.GetStream();

}

catch (SocketException exc){

  ...

}


Coté PC :

...

try{

  TcpListener serv = new TcpListener(IPAddress.Any, 1540);

  serv.Start();

  TcpClient client = serv.AcceptTcpClient();

  NetworkStream str = client.GetStream();

}

catch (SocketException exc){

  ...

}


Par contre je n'arrive toujours pas à trouver comment transmettre un fichier vers le PDA.
Messages postés
14
Date d'inscription
dimanche 15 avril 2007
Statut
Membre
Dernière intervention
14 mars 2010

Salut !

non, ton application bug en fait et non pas entrain d'attendre un client !!!
pour cela vas voir sur la programmation asynchrone, BeginAcceptTcpClient et compagnie.

bon courage.