Pergunta

Se eu tentar conectar a câmera JPEG, essa conexão funciona corretamente. Mas quando eu me conecto a uma câmera MJPEG (JPEG-Stream), não posso mostrar "System.out.println (" Onreturn oncesi " + httpConnection.getResponsecode ());" no console de saída. Estou usando o emulador e o MDS. Eu posso mostrar no MDS, ... o stream está chegando.

url = getUrl();
queryString = encodeURL(queryString);    
byte postmsg[] = queryString.getBytes("UTF-8");
httpConnection = (HttpConnection) Connector.open(url
+ ";deviceside=false", Connector.READ_WRITE);
httpConnection.setRequestMethod(HttpConnection.GET);
httpConnection.setRequestProperty("Authorization", getBase64Encode());
os = httpConnection.openDataOutputStream(); 

for (int i = 0; i < postmsg.length; i++) {
os.write(postmsg[i]);
}
{
 if (!cancel) {
     System.out.println(httpConnection.getURL()+ 
         " *****"+httpConnection.getPort());
     System.out.println("onreturn oncesi"
         + httpConnection.getResponseCode());
     onReturn(httpConnection.getResponseCode(), httpConnection
         .openInputStream(),(int) httpConnection.getLength());

     System.out.println("onreturn sornrası");
 }
 os.close();
 httpConnection.close();
}
} catch (Exception e) {
System.out.println("hata " + e.getMessage());
try {
    httpConnection.close();
    Thread.sleep(60);
} catch (Exception ie) {
}
onError(e);
}
Foi útil?

Solução

Um problema é que você não está configurando os cabeçalhos de sua solicitação corretamente.

Seus dados de postagem, então não deveriam httpConnection.setRequestMethod(HttpConnection.GET); ser httpConnection.setRequestMethod(HttpConnection.POST);.

E você também deve definir o Comprimento do conteúdo: httpConnection.setRequestProperty("Content-Length", Integer.toString(postmsg.length));

E enquanto estamos nisso, eu iria em frente e definiria estes:

tipo de conteúdo: Talvez como "imagem/jpeg". Não tenho certeza do que deve ser para MJPEG ... httpConnection.setRequestProperty("Content-Type", "image/jpeg");

Agente de usuário Descobri que alguns sites bloqueiam o agente de usuário padrão na RIM (Java/XXX), pensando que é uma aranha, então eu gosto de definir o agente do usuário.httpConnection.setRequestProperty("User-Agent", "MyCoolApp/V1 (App_RIM)");

Qual versão do JDE você está usando? Isso acabou https? Pergunto, porque em versões mais antigas como 4.5, você teve que criar HTTP e HTTPS de maneira diferente. Nas versões mais recentes, você provavelmente deve usar o novo ConnectionFactory, em vez do conector.

Boa sorte e espero que você descubra !!!

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top