Communication PDA/PC par sockets

diafwl1 Messages postés 52 Date d'inscription mercredi 27 avril 2005 Statut Membre Dernière intervention 5 août 2008 - 24 mai 2007 à 12:44
ralf9 Messages postés 14 Date d'inscription dimanche 15 avril 2007 Statut Membre Dernière intervention 14 mars 2010 - 15 janv. 2010 à 01:39
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

cs_Stephane33 Messages postés 630 Date d'inscription samedi 15 février 2003 Statut Modérateur Dernière intervention 9 octobre 2011 1
24 mai 2007 à 19:19
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
0
diafwl1 Messages postés 52 Date d'inscription mercredi 27 avril 2005 Statut Membre Dernière intervention 5 août 2008
4 juin 2007 à 13:40
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.
0
ralf9 Messages postés 14 Date d'inscription dimanche 15 avril 2007 Statut Membre Dernière intervention 14 mars 2010
15 janv. 2010 à 01:39
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.
0
Rejoignez-nous