2010-12-22 11 views
1

Ich arbeite an einem Proof of Concept, in dem einige Daten an eine ferne Warteschlange in WebSphere MQ gesendet werden. Die PCs, auf denen die Client-Software ausgeführt wird, sind Windows und haben Zugriff auf die Datenübertragung über WLAN, Satellit und Mobilfunk.Netzwerkhardwarepriorität mit C++ und MQ

Da mit jedem Übertragungsmodus unterschiedliche Kosten verbunden sind, möchte der Kunde, dass wir die kostengünstigste verfügbare Übertragungshardware in Echtzeit auswählen. Damit meine ich, dass wir unsere Daten mit Wi-Fi, Mobilfunk oder Satellit in der Reihenfolge der Verfügbarkeit senden werden.

Mein Problem ist, dass Windows scheint die Hardware für die Übertragung auswählen. Nach dem, was ich in der MQ-C++ - Bibliothek gesehen habe, kann ich nicht angeben, welche Hardware für die Übertragung verwendet werden soll. Ich weiß, dass dies außerhalb von MQ getan werden kann, aber wie jemand dies in MQ tun konnte?

+0

Bitte [verwenden Sie keine Signaturen oder Taglines] (http://stackoverflow.com/faq#signatures) in Ihren Posts. – meagar

Antwort

0

Vermutlich hat jede dieser Routen eine andere IP-Adresse. Wenn dies der Fall ist, können Sie eine Client-Channel-Definitionstabelle verwenden. Verwenden Sie beim Definieren der CLNTCONN Kanäle LOCLADDR attribute, um den Kanal an die entsprechende IP-Adresse zu binden. Sie können entweder drei verschiedene CCDT-Dateien verwenden und zur Laufzeit das richtige auswählen, oder Sie können alle drei Kanäle in derselben CCDT-Datei speichern. Wenn Sie eine einzelne CCDT-Datei verwenden, müssen generische Namen für das Feld QMNAME verwendet werden. Verwenden Sie beispielsweise für den WiFi-Kanal QMNAME(WIFI) und verwenden Sie QMNAME(SAT) für Satellit. Verwenden Sie dann zur Laufzeit generic QMgr names*SAT oder *WIFI in Ihrem CONNECT Anruf.