هل من الممكن التواصل مع نظام خارجي عبر TCP/IP باستخدام WCF ؟

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

سؤال

نحن نبني النظام الذي يتفاعل مع نظام خارجي عبر TCP/IP باستخدام بروتوكول FIX.لقد استعملت WCF على التواصل من العميل إلى الملقم حيث كان السيطرة على كل من العميل والخادم ، ولكن لم خارجي TCP/IP نظام قائم.هل هذا ممكن مع WCF ؟ إذا كان الأمر كذلك, يمكن أن المجتمع توفير روابط لي بدأت تواجه في الاتجاه الصحيح ؟

للأسف ليس لدي معلومات أكثر من ذلك بكثير أن ما يتم توفيره من أعلاه ، ونحن ما زلنا في بداية مراحل التخطيط الأولى.ما نعرفه هو أن لدينا خارجي البائعين الذين النظام سيتم التواصل مع النظام عبر TCP/IP.نود أن استخدام هذا بمثابة فرصة التعلم والتعلم WCF.

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

المحلول

أنا لا أعتقد أنه من الممكن ، على الأقل لن يكون من السهل إعداده لأنك لا تعرف بروتوكول الاتصال من الجانب الآخر ، باستثناء انها TCP و تقبل الإصلاح به.

لماذا لا داخل WCF تطبيق فتح اتصال TCP مأخذ.التي ينبغي أن تفعل خدعة في أبسط طريقة.

نصائح أخرى

ممكن ؟ ربما نعم, ولكن الأمر سوف يستغرق بعض العمل.

بالنسبة للمبتدئين, سوف تحتاج إلى كتابة مخصص WCF قناة النقل الذي يعالج خصائص TCP/IP الخاص بك القائمة على بروتوكولات (أيسوف تحتاج إلى كتابة كل مأخذ معالجة رمز وربط ذلك في WCF نموذج القناة).وذلك لأن TCP القناة في WCF ليس لهذا النوع من العمل ، ولكن يستخدم نسبيا الملكية غير الشرعيين سلك البروتوكول.

أنا لست على دراية كافية مع الإصلاح أن أقول كم هو معقد ، ولكن هناك بعض gotchas عند كتابة WCF قنوات والوثائق في هذا المجال ليست كبيرة.

الجزء الثاني سوف تحتاج إلى التعامل مع ترميز الرسالة.إلى WCF, جميع رسائل XML.هذا هو مرة واحدة في رسالة تنتقل إلى WCF كومة ، يجب أن تبدو مثل XML infoset في وقت التشغيل.الإصلاح لا تستخدم XML (afaik) ، لذلك سوف تحتاج إلى التكيف مع ذلك قليلا.

هناك نوعان من الطرق التي يمكنك الذهاب حول ذلك:

  1. طريقة سهلة:نفترض الخادم/العميل استخدام واجهة معينة وشكل البيانات ، قناتك تفعل كل العمل الشاق من ترجمة إصلاح رسائل من هذا الشكل.أبسط مثال على ذلك سيكون لديك الخاص بك WCF رمز استخدام خدمة بسيطة العقد مع أسلوب واحد أخذ سلسلة ثم تغليف الإصلاح سلسلة رسالة إلى تنسيق XML الذي يرضي بيانات العقد مسلسل على ذلك العقد.رمز المستخدم سوف لا تزال بحاجة إلى التعامل مع فك شكل الإصلاح فيما بعد ، على الرغم من.

  2. تفعل كل العمل الشاق في العرف WCF MessageEncoder.انها قليلا أكثر تعقيدا ، ولكن يحتمل أن تكون أنظف وأكثر قابلة لإعادة الاستخدام (و هل يمكن أن تفعل أشياء أكثر تعقيدا مثل تدفق أفضل وهلم جرا).

السؤال الكبير هو على الرغم من ما إذا كان هذا هو يستحق كل هذا العناء.ما هو المنطق الخاص بك عن الرغبة في استخدام رأس المال العامل من أجل هذا ؟ الاستفادة من البرمجة النموذج ؟ أعتقد أن هذا أحد الاعتبارات الهامة, ولكن أيضا أن نضع في اعتبارنا أن تجريدات أن WCF يوفر يأتي في الأسعار.ولا سيما بعض الجوانب من صندوق رأس المال العامل يمكن أن يكون مشكلة إذا كان لديك جدا في الوقت الحقيقي المتطلبات التي أفهم هو شائع في هذا النوع من البيئة المالية كنت تبحث في.

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

ويساعد هذا الأمل :)

أنا أعتقد لذلك.لدي النظام الذي لا تقريبا حصلت العمل الذي كان من المفترض أن تفعل بالضبط تقريبا أن (WCF عبر HTTP من الإنترنت).الخادم مزود يبدو لا تريد أن تسمح بذلك الفكر لذلك سوف تحتاج الأذونات المناسبة على أن ينتهي العمل على انجاحه.

حتى النار:أنا لا أرى لماذا لا.

لا حقا - Ms لم يجعل اتصال TCP/IP معالج التحدث غير خدمات WCF ، افترضوا كنت تكتب خدمة الإنترنت للقيام بذلك.

هذا وناقش هنا على ذلك.

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