Consumo de dados excessivo

Bom dia, tenho um aplicativo android fazendo requisições através de paginas jsp e estou tendo uma desagradavel surpresa, mesmo nas requisições onde não tenho resposta o consumo está absurdo tanto nos dados recebidos quanto nos enviados. Tenho um handler que manda de 1 em 1 minuto a posição do aparelho e mesmo nao solicitando resposta estou verificando que o medidor de consumo de bytes recebidos começa a voar, alguem já passou por algo parecido e tem alguma solução para isto? A quantidade de informações é extremamente pequena (coisa de 40 caracteres, equivalente a 40bytes certo?) por envio e a medição aumenta em kb rapidamente.

Desde já agradeço quem tiver alguma informação a respeito.

Luciano

[quote=MAGO0102]Bom dia, tenho um aplicativo android fazendo requisições através de paginas jsp e estou tendo uma desagradavel surpresa, mesmo nas requisições onde não tenho resposta o consumo está absurdo tanto nos dados recebidos quanto nos enviados. Tenho um handler que manda de 1 em 1 minuto a posição do aparelho e mesmo nao solicitando resposta estou verificando que o medidor de consumo de bytes recebidos começa a voar, alguem já passou por algo parecido e tem alguma solução para isto? A quantidade de informações é extremamente pequena (coisa de 40 caracteres, equivalente a 40bytes certo?) por envio e a medição aumenta em kb rapidamente.

Desde já agradeço quem tiver alguma informação a respeito.

Luciano[/quote]

Você é cobrado pelo que trafega e não pelos 40 bytes.
Aposto minha cueca furada que vc está usando HTTP para transmitir os dados.
Com estes 2 linhas, respondi sua charada.

Com certeza boone, obrigado pelo interesse na ajuda, percebi q a cada requisição mesmo quando não recebo nada, consumo 1kb e faço 5 requisições por minuto.
Gostaria de passar essas requisições para socket, acredito que ai sim seria cobrado somente pelos bytes trafegados, mas falha demais, alguem tem um conhecimento profundo sobre sockets e poderia me ajudar nessa implementação?

Desde já agradeço a atenção.

Construi um server em socket assim:

classe principal
public static void main(String[] args) throws IOException {
ServerSocket serverSocket = new ServerSocket(PORTA);
System.out.println(“INICIADO”);
while(true){
Socket socket = serverSocket.accept();
new ServicoThread(socket).start();
}
}

classe serviço extendendo thread
private final Socket socket;

public ServicoThread(Socket socket) {
this.socket = socket;
}

@Override
public void run() {
try {
        DataInputStream in     = new DataInputStream(socket.getInputStream());
        DataOutputStream out   = new DataOutputStream(socket.getOutputStream());
        ExecutaServico ClasseExecutora   = new ExecutaServico(in);
        ClasseExecutora.enviar(out);
        out.close();
        in.close();
        socket.close();
    } catch (IOException e) {
        e.printStackTrace();
}
}

classe executora

public ExecutaServico(DataInputStream in) {
String nomeServico = “”;
try {
this.servico = DataInputStream.readUTF(in).toString().trim();
if(servico.trim().equals(“02”)){
nomeServico = “INSERE”;
this.nome = DataInputStream.readUTF(in);
this.posicao = DataInputStream.readUTF(in);
} catch (IOException ex) {
Logger.getLogger(ExecutaServico.class.getName()).log(Level.SEVERE, null, ex);
}

public void enviar(DataOutputStream out) throws IOException{

    if (this.servico.equals("02")) { //INSERE
        int i = cadastrarPosicao();
        if(i > 0){
            out.writeUTF("1");
        } else {
            out.writeUTF("0");
        }

}

public synchronized int cadastrarPosicao(){
int i = 0;
try {
cs = bd.conectar().prepareCall("{call RSDB_0005_SPI(?,?)}");
cs.setString(1, nome);
cs.setString(2, posicao);
i = cs.executeUpdate();
} catch (SQLException ex) {
ex.printStackTrace();
} finally {
try {
if (cs != null){
cs.close();
cs = null;
}
} catch (SQLException c){ }
bd.desconectar();
}
return i;
}

Até aqui fiz certo? Tem alguma coisa que precise ser implementada a mais? Nunca usei socket por isso a insegurança.

Agora estou tendo problemas com DeadLocks, alguem poderia me ajudar, preciso “aparecer” com esta solução até segunda-feira, por favor…

Luciano