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