Frage

Wir bauen ein System, das mit einem externen System über TCP / IP mit dem Protokoll FIX . Ich habe WCF vom Client zum Server zu kommunizieren, wo ich sowohl die Kontrolle über Client und Server hatte, aber nie zu einem externen TCP / IP-basierten System. Ist dies möglich, mit WCF? Wenn ja, könnte Links die Gemeinschaft zur Verfügung stellen für mich in die richtige Richtung, um loszulegen und konfrontiert?

Leider habe ich nicht viel mehr Informationen, was oben zugeführt wird, als wir noch in der frühen frühen Planungsphase sind. Was wir wissen ist, dass wir einen externen Anbieter, dessen System kommuniziert mit unserem System über TCP / IP haben. Wir möchten, dass dies als eine Gelegenheit zum Lernen nutzen und WCF lernen.

War es hilfreich?

Lösung

Ich glaube nicht, ist es möglich, zumindest wird es nicht einfach sein, um es einzurichten, weil Sie das Kommunikationsprotokoll des anderen Endes wissen es nicht, außer es TCP ist und FIX Tags akzeptieren.

Warum nicht Sie in WCF-Anwendung öffnen TCP-Verbindung eine Steckdose. Das sollte den Trick auf einfachere Art und Weise tun.

Andere Tipps

möglich? ja vielleicht, aber es wird einige Arbeit nehmen.

Für den Anfang, benötigen Sie einen benutzerdefinierten WCF-Transportkanal zu schreiben, die die Besonderheiten Ihres TCP Griffe / IP-basierte Protokolle (das heißt werden Sie brauchen, um all die Steckdose Behandlungs-Code zu schreiben, und das in das WCF-Kanalmodell Haken). Dies liegt daran, der TCP-Kanal in WCF nicht für diese Art von Arbeit ist, verwendet aber ein relativ proprietäres und undokumentierte Wire-Protokoll.

Ich bin nicht genug, um mit FIX vertraut zu sagen, wie komplex es sei, aber es gibt einige Fallstricke, wenn in diesem Bereich WCF-Kanäle und das Schreiben von Dokumentation ist nicht groß.

Der zweite Teil, den Sie brauchen, zu behandeln ist die Nachrichtencodierung. Um WCF, werden alle Nachrichten sind XML. Das heißt, sobald eine Nachricht an den WCF-Stack übergeben wird, hat es wie ein XML Infoset zur Laufzeit zu suchen. UPDATE nicht XML verwenden (afaik), so dass Sie es ein bisschen anpassen müssen.

Es gibt zwei Möglichkeiten, wie Sie um es zu gehen:

  1. Der einfache Weg: Angenommen, der Server / Client wird eine bestimmte Schnittstelle und Format für die Daten verwenden, und haben Ihr Kanal tun all die harte Arbeit, die FIX-Nachrichten des Übersetzens zu / von diesem Format. Das einfachste Beispiel hierfür wäre Ihr WCF-Code zu haben, einen einfachen Service-Vertrag verwenden, um mit einer Methode einen String zu nehmen und dann Einkapseln nur das FIX Meldungs-String in das XML-Format, das den Datenvertrag Serializer für diesen Auftrag erfüllt. Der Code Benutzer müssten noch später mit Decodierung des FIX-Format behandeln, though.

  2. Sie all die harte Arbeit in einem benutzerdefinierten WCF Message. Es ist ein wenig komplexe, aber möglicherweise saubere und wiederverwendbar (und Sie könnten komplexere Dinge wie besseres Streaming tun und so weiter).

Die große Frage ist aber, ob es sich lohnt. Was ist Ihre Argumentation für den Wunsch, für diese WCF zu benutzen? Nutzt das Programmiermodell? Ich denke, das ist ein wichtiger Aspekt, aber auch bedenken, dass die Abstraktionen, die WCF zu einem Preis zur Verfügung stellt. Insbesondere können einige Aspekte der WCF problematisch sein, wenn Sie sehr Echtzeitanforderungen, die ich ist üblich, in der Art der finanziellen Umfeld verstehen Sie suchen auf.

Wenn das der Fall ist, es kann sehr gut sein, dass Sie besser durch Überspringen WCF serviert werden würden und ein wenig näher an das Metall kleben. Sie müssen die Steckdose Arbeit sowieso tun, so dass etwas dort zu betrachten.

Hope, das hilft:)

I denken so. Ich habe ein System, das I fast bekam arbeiten, soll fast genau das (WCF über HTTP aus dem Internet) tun. Der Server-Anbieter schien nicht zu wollen, um es zu ermöglichen, dachte so müssen Sie die richtigen Berechtigungen für diesen Zweck es funktioniert.

Bis Schuss. Ich sehe nicht, warum nicht

Nicht wirklich -. Frau nicht die TCP / IP-Verbindung Handler machen zu Nicht-WCF-Dienste zu sprechen, sie annahmen Sie einen Web-Service schreiben würden, das zu tun

Dies ist diskutiert hier auf SO .

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top