كيف يمكنني ضبط الوقت من مأخذ.ربط() الدعوة ؟ [مكررة]
سؤال
هذا السؤال سبق الجواب هنا:
- كيفية تكوين مأخذ مهلة الاتصال 11 إجابات
لدي التطبيق الذي يربط المضيف الذي قد يكون في الأسفل.إذا كان المضيف هو أسفل أنا لا أريد أن انتظر 30 ثانية أو نحو ذلك يستغرق وقتا.أنا باستخدام حجب مآخذ في هذه اللحظة.
لقد كنت أبحث في المقبس.استطلاع() ومأخذ.حدد() ولكن أنا أفضل أن يكون مجرد إعداد الوقت على مأخذ التوصيل.أنا لا أمانع إذا كان هذا الإعداد يجب أن تفعل في مكان ما في النظام.كما لا يبدو أن نفهم أن الاستطلاع واختر لا تعمل مع اتصال الموجهة الاتصالات هل هذا صحيح ؟
إذا كان هذا هو المستحيل تماما ما هي طريقة لطيفة للحصول على نتائج أريد باستخدام الاستطلاع ، حدد أو تقنية ؟
المحلول
انظر BeginConnect و البرمجة غير المتزامنة نظرة عامة
IAsyncResult asr = socket.BeginConnect( ip, port, null, null );
bool res = asr.AsyncWaitHandle.WaitOne( 10000, true ); // 10 sec timeout
تحديث:هناك مثال أفضل هنا.
لا تنتمي إلى StackOverflow