bonjour,
j'ouvre un port puis j'envoie un tableau sur ce port. Tout se passe bien je reçois exactement ce que je veux. Le problème est que la durée d'envoi des données est trop longue. Elle est de 300ms. On m'impose d'envoyer ces données en moins de 30ms.
Comment je peux accélérer le débit ? J'utilise un DataOuptuStream pour envoyer mon tableau :
Voici mon code : (j'ai volontairement enlevé les try{}catch{})
Le code après la méthode accept dure 300ms.
J'ai essayé de remplacer mon tableau 3D par un tableau 1D, même chose j'ai un temps d'envoi de 300ms environ.
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 socketServerSender=new ServerSocket(4000); socketServerSender.setSoTimeout(2000); socketSender=this.socketServerSender.accept(); out=socketSender.getOutputStream(); dos=new DataOutputStream(out); dos.writeInt(255); dos.flush(); out.flush(); int n, m, o; int i, j, k; n = tabInt.length; //9(objets) m = tabInt[0].length; //50(lignes) o = tabInt[0][0].length; //20(colonnes) for (i=0;i<n;i++) { for (j=0;j<m;j++) { for (k=0;k<o;k++) { dos.writeInt(tabInt[i][j][k]); } } } dos.flush(); out.flush();
[edit]
Petite précision :
ce code se trouve dans un thread. Est-ce que ça peut expliquer la lenteur d'exécution ?
[/edit]
Partager