Initialisation d'un Buffer
salut a tous. s'il vous plait , qu'est ce qui ne va pas avec cette l'écriture:
Code:
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
|
if(conn == true){
try {
int size = socket.getInputStream().available();
char [] buff ;
while(size > 0) {
buff = new char[size];
onReceive(buff);
System.out.println("buffer : " + br.read(buff));
System.out.println("size : " + size);
size = socket.getInputStream().available();
send(outMsg1);
send(gpos);
}
}catch (IOException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
System.err.println("erreur reception ");
System.exit(1);
e1.printStackTrace();
}
} |
la méthode onReceive
Code:
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
|
public void onReceive(char [] buff){
buffer.append(buff);
int begin,end;
String sbuffer = buffer.toString();
while(sbuffer.contains("$$") && sbuffer.contains("\r\n")){
begin = sbuffer.indexOf("$$");
end = sbuffer.indexOf("\r\n");
if(begin < end){
handleData(buffer.substring(begin, end+2));
buffer = buffer.delete(begin, end+2);
sbuffer = buffer.toString();
}
}
} |