سؤال

إذا حاولت توصيل كاميرا JPEG ، فإن هذا الاتصال يعمل بشكل صحيح. ولكن عندما أقوم بالاتصال بكاميرا MJPEG (JPEG-stream) ، لا يمكنني عرض "System.out.println (" Onreturn oncesi " + httpconnection.getResponsecode ()) ؛" على وحدة التحكم في الإخراج. أنا أستخدم المحاكي و MDS. يمكنني عرض على MDS ، ... تيار قادم.

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);
}
هل كانت مفيدة؟

المحلول

مشكلة واحدة هي عدم تعيين رؤوس طلبك بشكل صحيح.

بيانات النشر الخاصة بك ، لذلك لا ينبغي httpConnection.setRequestMethod(HttpConnection.GET); يكون httpConnection.setRequestMethod(HttpConnection.POST);.

ويجب عليك أيضًا تعيين ملف طول المحتوى: httpConnection.setRequestProperty("Content-Length", Integer.toString(postmsg.length));

وبينما نحن في ذلك ، سأمضي قدماً وأضعها:

نوع المحتوى: ربما كـ "صورة/JPEG". لست متأكدًا مما يجب أن يكون لـ MJPEG ... httpConnection.setRequestProperty("Content-Type", "image/jpeg");

وكيل المستخدم لقد وجدت أن بعض المواقع تمنع وكيل المستخدم الافتراضي في RIM (Java/XXX) ، معتقدًا أنه عنكبوت ، لذلك أود تعيين وكيل المستخدم.httpConnection.setRequestProperty("User-Agent", "MyCoolApp/V1 (App_RIM)");

ما هو إصدار JDE الذي تستخدمه؟ هل هذا أكثر من https؟ أسأل لأنه في الإصدارات القديمة مثل 4.5 كان عليك إنشاء HTTP و HTTPS بشكل مختلف. في الإصدارات الأحدث ، ربما يجب أن تستخدم ConnectionFactory الجديد ، بدلاً من الموصل.

حظا سعيدا وآمل أن تكتشف ذلك !!!

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top