العميل غير قادر على الاتصال بخادم الويب عبر شبكة لاسلكية - من خلال CODE

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

  •  06-07-2019
  •  | 
  •  

سؤال

//code in the client
HttpWebRequest request = (HttpWebRequest)WebRequest.Create("http://192.168.0.5/test");
WebResponse response = request.GetResponse();

لدي إعداد LAN مع جهازين في مجموعة العمل الخاصة بي.- 192.168.0.1 (هذا هو العميل) - 192.168.0.5 (هذا هو خادم الويب)

يعمل جزء التعليمات البرمجية أعلاه بشكل جيد تمامًا في شبكة سلكية بسيطة.

عندما أقوم بتشغيله على شبكة لاسلكية، أي.عند إعداد الشبكة باستخدام موجه wi-fi بدلاً من المحول، لا يعمل الرمز - فهو يعلق في GetResponse.

والغريب أنني عندما أفتح المتصفح وأكتب - http://192.168.0.5/test - يعمل...تظهر الصفحة!

ماذا ينقصني؟لماذا لا يستطيع العميل الاتصال بالخادم من خلال الكود؟

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

المحلول

هل تقصد بـ "يعلق" أنه معلق؟

هل هذا هو الطلب الأول في البرنامج أم هناك طلبات أخرى؟أحد الأسباب المتكررة لطلبات الويب "المعلقة" هو الفشل في إغلاق/التخلص من استجابات الويب.بمجرد قيامك بتقديم طلبين (افتراضيًا) إلى نفس الخادم، سيتعين عليك الانتظار حتى يتم الانتهاء من الردود.

لا أعرف لماذا سيؤثر ذلك عليك فقط في حالة الاتصال بالشبكة اللاسلكية بدلاً من الاتصال السلكي، ولكن إذا كنت لا تغلق استجابات الويب (يفضل أن يكون ذلك باستخدام using البيانات) أوصي بإصلاح ذلك في البداية.

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

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