Bonjour,
J'ai un programme client serveur. Le serveur envoi des données (double) au client.
Lorsque j'exécute mes 2 programmes en local, je n'ai aucun problème. Mes 600 valeurs (double) sont bien transmises du serveur au client.
Mais lorsque j'exécute mon programme sur 2 PC distants, le programme génère une excéption lors d'une conversion.
Boucle d'envoi du server
Boucle d'envoi du client
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 for(int n=0;n<600;n++) { string DataString = DataVitesse[n].ToString(); ByteVitesse = Encoding.ASCII.GetBytes(DataString); CurrentClient.Send(ByteVitesse,0,ByteVitesse.Length,SocketFlags.None); Thread.Sleep(10); CurrentClient.Receive(DataReceive,0,DataReceive.Length,SocketFlags.None); string DataStringReceive = Encoding.ASCII.GetString(DataReceive); //Affichage des valeurs reçues dans la ListBox listBox1.Items.Add (DataStringReceive); }
a la ligne : double DataDouble = Convert.ToDouble(DataVitesse);
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 for(int n=0;n<600;n++) { ClientSocket.Receive(ReceiveData,0,ReceiveData.Length,SocketFlags.None); Thread.Sleep(10); string DataVitesse = Encoding.ASCII.GetString(ReceiveData); ClientSocket.Send(ReceiveData,0,ReceiveData.Length,SocketFlags.None); double DataDouble = Convert.ToDouble(DataVitesse); DataVitesseReceive[n]=DataDouble; // Affichage des valeurs reçues dans la ListBox //listBox1.Items.Add(DataDouble.ToString()); listBox1.Items.Add(DataVitesse); }
DataVitesse = "0,00681524294670846"
Une exception non gérée du type 'System.FormatException' s'est produite dans mscorlib.dll
Informations supplémentaires*: Le format de la chaîne d'entrée est incorrect.
Je ne comprends pas pourquoi cette excéption est générée seulement lorsque j'exécute mon programme a diantance car visiblement il s'agit d'un problème de conversion.
Partager