سؤال

وأنا أحاول أن تجد وسيلة جيدة للكشف عن فقدان الاتصال.

ويتم تنفيذ محول بصفتي فيكس :: التطبيق على أساس واحد من الأمثلة. ويستخدم البادئ مقبس للاتصال بوابة الإصلاح.

وعندما كنت افصل الانترنت يستغرق حوالي 30 ثانية لإصلاح :: طريقة onLogout تطبيق لأن تطلق. يبدو مثل بعض الطبقة الأساسية أن تكون على علم بأن هناك مشكلة مع مقبس قبل ذلك بكثير. وهناك أخذت طريقة سريعة هوك في هذا؟

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

المحلول

وأفضل طريقة لحل هذه ربما يكون لخفض الخاص بك نبضات الفاصل الزمني حتى تعرف عاجلا. أنا لا أعرف من أي الرسائل التي تطلق لفقدان اتصال TCP، ولكن لا أعتقد QuickFix هو الاستماع للأحداث OS سواء. على الرغم من أنه من المحتمل أن تتدفق من خلال هذا الحدث fromAdmin إذا كان هناك مثل هذه الرسالة.

هل نشر سؤالك إلى QuickFix DL؟

نصائح أخرى

ومن الممكن أن محرك الإصلاح الذي تستخدمه لا ندعو مرة أخرى عندما يتم قطع TCP، أو أنه يدعو إلى الخلف على شيء آخر غير onLogout. منذ كنت تستخدم الإصلاح، وأنا أخمن أنه يفرض الخروج بسبب دقات القلب تفويتها.

سوف

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

وTCP نفسه يأتي مع آلية ضربات القلب الأم دعا SO_KEEPALIVE . المشكلة هي أن الفاصل الزمني الافتراضي لهذا نبضات القلب يمكن أن تصل إلى 2 ساعة. يتم تكوين هذا على مستوى نظام التشغيل. حتى من الناحية النظرية يمكن تشغيل SO_KEEPALIVE، تكوين الفاصل الزمني لنبض معقول على مستوى OS وتكون سعيدا. ومع ذلك، لأنه كما قال هذا هو غاية OS تعتمد، يختار معظم التطبيقات لتنفيذ heartbeating على مستوى التطبيق، وFIX ليست استثناء. خفض الخاص بك الفاصلة FIX ضربات القلب هو الطريق للذهاب هنا، وخاصة إذا كنت تعتمد على إلغاء على اساس قطع والثواني إضافية من فقدان الاتصال التي لم يتم كشفها يمكن أن تؤدي إلى الإعدام أمر غير مرغوب فيه. بوابة FIX نفذت على رأس أي محرك الإصلاح ينبغي أن تدعم التكوين heartbeating الخروج من مربع. نلقي نظرة على CoralGateway للحصول على مثال. (تنويه: أنا واحد من المطورين من CoralGateway)

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