لا يمكن الوصول إلى خدمة ويب من الجهاز المحمول

StackOverflow https://stackoverflow.com/questions/31297

  •  09-06-2019
  •  | 
  •  

سؤال

لقد قمت بتطوير برنامج في جهاز محمول (Pocket PC 2003) للوصول إلى خدمة ويب، وتم تثبيت خدمة الويب على جهاز كمبيوتر يعمل بنظام التشغيل Windows XP SP2 مع IIS، والكمبيوتر لديه IP 192.168.5.2.

يحصل الجهاز من الشبكة اللاسلكية على IP 192.168.5.118 ويعمل البرنامج بشكل جيد، ويستدعي الطريقة من خدمة الويب وينفذ الإجراء المطلوب.سيتم استخدام هذا البرنامج في المباني المختلفة.

الآن لدي هذه المشكلة، اتضح أنه عندما أحاول اختبارها في مبنى آخر (المسافات تبلغ حوالي 100 متر.أو 200 mts.) متصل بالشبكة، لا يمكن للبرنامج الاتصال بخدمة الويب، في هذه اللحظة يحصل الجهاز من نقطة الوصول على IP 192.168.10.25، ويصل إلى نفس جهاز XP الذي ذكرته من قبل (192.168.5.2).لقد قمت بإنشاء صفحة aspx للجوال للتحقق من أنه يمكنني الوصول إلى خادم الويب عبر الشبكة ويقوم بتحميله في الجهاز، حتى أنني قمت بإنشاء ملف winform يمكنه الوصول إلى نفس خدمة الويب في جهاز الكمبيوتر من هذا المبنى ويعمل أيضًا هناك لذلك لا أفعل ذلك. لا أفهم ما يجري.لقد حاولت أيضًا اختبار اتصال جهاز الكمبيوتر 192.168.5.2 وهو يستجيب بشكل جيد.

بعد ذلك الفشل عدت إلى المكان الأصلي الذي اختبرت فيه البرنامج من قبل ويصادف أنه يعمل بشكل طبيعي.

الشيء الوحيد الذي أبدو مختلفًا هنا هو أن الرقم الثالث في عنوان IP هو 10 بدلاً من 5، وملاحظة أخرى هي أنني لا أستطيع اختبار الاتصال بالجهاز المحمول.أشعر بالارتباك ولا أعلم ماذا يحدث هنا؟ماذا ممكن ان تكون المشكلة؟

هذه هي الطريقة التي أسميها خدمة الويب؛

//Connect to webservice
svc = new TheWebService(); 
svc.Credentials = new System.Net.NetworkCredential(Settings.UserName, Settings.Password);
svc.AllowAutoRedirect = false;
svc.UserAgent = Settings.UserAgent;
svc.PreAuthenticate = true;
svc.Url = Settings.Url;
svc.Timeout = System.Threading.Timeout.Infinite;

//Send information to webservice
svc.ExecuteMethod(info);

محتوى app.config الموجود على الجهاز المحمول هو؛

<?xml version="1.0" encoding="utf-8" ?>
<configuration>
  <appSettings>
    <add key="UserName" value="administrator" />
    <add key="Password" value="************" />
    <add key="UserAgent" value="My User Agent" />
    <add key="Url" value="http://192.168.5.2/WebServices/TWUD.asmx" />
  </appSettings>
</configuration>

هل لدى أي شخص فكرة عما يحدث؟

هل كانت مفيدة؟

المحلول

يبدو هذا وكأنه مشكلة في الشبكة، ما لم يكن هناك خطأ غريب في .Net CF لا يسمح لك باجتياز الشبكات الفرعية في مواقف معينة (لا يمكنني العثور على دليل على مثل هذا الشيء من خلال البحث عبر Google).

هل يمكنك الحصول على أي دعم من فريق الشبكة/تكنولوجيا المعلومات؟وأيضاً هل جربته من شبكة فرعية مختلفة؟أي.ليس مثل جهاز XP (192.168.5.x) وليس مثل الجهاز الذي لم يعمل حتى الآن (192.168.10.).

@ Shaun Austin - هذا لا يفسر سبب تمكنهم من الوصول إلى صفحة ويب عادية على جهاز XP من الشبكة الفرعية المختلفة.

نصائح أخرى

لقد كانت مشكلة في الشبكة، وقمنا بتكوين خادم وكيل وكانت هذه هي المشكلة، وأحتاج إلى معرفة المزيد حول الشبكة.

لست خبيرًا في هذه الأشياء ولكن يبدو أنه تم إخفاء الأجزاء الثلاثة الأولى من العنوان.هل من الممكن أن يتم إعطاء الجهاز المحمول قناع شبكة مكون من:

255.255.255.0

للوصول إلى ما هو أبعد من نطاق الأجزاء الثلاثة الأولى، يجب أن يكون القناع:

255.255.0.0

قد يكون هذا تبسيطًا مبالغًا فيه أو خطأ تمامًا، لكن هذا كان رد فعلي على السؤال.

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