1

jpegカメラに接続しようとするとこの接続は正しく機能します。しかし、Mjpeg(jpeg-stream)カメラに接続すると、 "System.out.println(" onreturn oncesi " + httpConnection.getResponseCode());"出力コンソールで。 エミュレータとMDSを使用しています。私はMDSで表示することができます...ストリームが来ています。BlackBerryでhttpConnectionとgetResponseCodeについて質問があります。

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); 
} 

答えて

1

リクエストヘッダーを正しく設定しないと、1つの問題が発生します。

あなたの投稿データですので、httpConnection.setRequestMethod(HttpConnection.GET);httpConnection.setRequestMethod(HttpConnection.POST);であるべきではありません。

そして、あなたもコンテンツ長設定する必要があります。httpConnection.setRequestProperty("Content-Length", Integer.toString(postmsg.length));

をそして、我々はそれでいる間、私は先に行くと、これらを設定します:

コンテンツタイプ:多分画像/ JPEG」など" UserAgentの

httpConnection.setRequestProperty("Content-Type", "image/jpeg"); ...それはMJPEGのためにどうあるべきかわからない、いくつかのサイトが、それはクモですので、私は設定したいと考え、RIM(Javaの/ XXX)のデフォルトのユーザーエージェントをブロックすることを私が発見しましたユーザーエージェント。 httpConnection.setRequestProperty("User-Agent", "MyCoolApp/V1 (App_RIM)");

あなたはどのバージョンのJDEを使用していますか?これはHTTPS経由ですか? 4.5のような古いバージョンでは、httpとhttpsを別々に作成しなければならないので、私は尋ねます。新しいバージョンでは、コネクターではなく、新しいConnectionFactoryを使用してください。

幸運と私はあなたがそれを理解して欲しい!

+0

私は4.6を使用しています... 4.6ではConnectionFactoryが動作しません。応答コードを受け取ることができません... – atasoyh

+0

HTTPS接続を開くと、正しいConnectionクラスに結果がキャストされていることを確認してください。私は認証を使用しているので、あなたの接続はHTTPS経由であると仮定しますか?その場合は、(HttpConnection)ではなく、(HttpsConnection)にキャストします。また、Googleの "Marcus Watkins and ConnectionFactory"(4.6のために働く)を検索してください。それは完全ではありませんが、正しい方向にあなたを導きます。 – eSniff

関連する問題