Olá pessoal,
Estou fazendo uma aplicação J2ME para o
i85s(emulador) e faço troca de dados com Servlet.
Muito bem, quando envio bytes do i85s para o
servlet, cada bytes de informação vem acompanhado de outros 5 bytes. Além disso,
no final da cadeia de bytes temos 5 bytes.
Quando envio bytes do Servlet para o i85s os bytes
são recebidos normalmente, sem nenhum byte adicional.
Eis os trechos de código e as dúvidas a
seguir:
ENVIO i85s para Servlet:
i85s
OutputStream os =
Connector.openOutputStream(url);
int a = 0;
for(int a=0; a < 2; a++){ System.out.println("Byte
enviado" + a);
os.write(a); os.flush(); a = a + 1; } Servlet
InputStream receive =
request.getInputStream();
int nextbyte = 0; while (nextbyte != -1){ nextbyte =
receive.read();
System.out.println("Byte recebido " + nextbyte); } Resultado no servidor:
Byte recebido 49
Byte recebido 13
Byte recebido 10
Byte recebido 0
Byte recebido 13
Byte recebido 10
Byte recebido 49
Byte recebido 13
Byte recebido 10
Byte recebido 1
Byte recebido 13
Byte recebido 10
Byte recebido 48
Byte recebido 13
Byte recebido 10
Byte recebido 13
Byte recebido 10
Por aparecem esse bytes junto com o byte de
informação? O que representam esses bytes? Há uma maneira de receber apenas os
bytes que contêm a informação (poderia fazer um algoritmo para obter apenas a
informação, mas gostaria de saber se existe outra maneira)?
ENVIO Servlet PARA i85s:
Servlet
OutputStream send =
response.getOutputStream();
for (int a =50; a < 56; a++){ System.out.println("Byte enviado" + a); send.write(a); send.flush(); } i85s
InputStream is =
Connector.openInputStream(url);
int nextbyte = 0; while (nextbyte != -1){ nextbyte = is.read(); System.out.println("Byte recebido " + nextbyte); }
Resultado no i85s:
Byte recebido 50
Byte recebido 51
Byte recebido 52
Byte recebido 53
Byte recebido 54
Byte recebido 55
Alguém poderia me ajudar a entender o que está
acontecendo?
Atenciosamente,
Bruno Tavares da Silva
Bacharelado em Sistemas de Informação - Unesp -
Bauru
MS Consultoria
|