Otimizando conexão

1 resposta
P

Olá pessoal, eu estou fazendo uma conexão via socket para um servidor, mas o Palm leva quase 5 minutos para ler os 45 Kb que recebe, eu gostaria que vocês olhassem o código e talvez me dessem alguma dica de otimizar este código, lá vai:

try {
         sc = (SocketConnection)
            Connector.open("socket://192.168.1.26:8085");
         is = sc.openInputStream();
         int c = is.read();
         int qtd_ast = 0;
         StringBuffer sb = new StringBuffer();
         while (true)
         {
             if (c == 42)
             {
                 if (qtd_ast == 0)
                 {
                     qtd_ast++;
                     sb.delete(0,sb.length()-1);
                     c = is.read();
                     continue;
                 }
                 else if (qtd_ast == 1)
                 {
                     qtd_ast++;
                     sb.delete(0,sb.length()-1);
                     c = is.read();
                     continue;
                 }
                 else if (qtd_ast == 2)
                 {
                     qtd_ast++;
                     sb.delete(0,sb.length()-1);
                     c = is.read();
                     continue;
                 }
                 else if (qtd_ast == 3)
                 {
                     qtd_ast++;
                     sb.delete(0,sb.length()-1);
                     c = is.read();
                     continue;
                 }
                 else if (qtd_ast == 4)
                 {
                     qtd_ast++;
                     sb.delete(0,sb.length()-1);
                     c = is.read();
                     continue;
                 }
                 else if (qtd_ast == 5)
                 {
                     break;
                 }
             }
             sb.append((char)c);
             c = is.read();
             gaProgress.setValue(gaProgress.getValue()+1);
         }
       } 
       catch(Exception e) {
 
       } finally {
          try {
            if(is != null) {
              is.close();
            }
            if(sc != null) {
              sc.close();
            }
          } catch(IOException e) {
            e.printStackTrace();
          }
       }

Aquele qtd_ast significaa quantidade de asteriscos porque o socket no lado servidor ler os dados de clientes, produtos, grupos, subgrupos etc e separa este arquivos por *… [/code]

1 Resposta

G

Po, cara…
num dá pra colocar um switch aí, não??? Mó doidera esses if else if else if …

Criado 22 de março de 2005
Ultima resposta 23 de mar. de 2005
Respostas 1
Participantes 2