私は、クイックフィックス ( http://www.quickfixengine.org ) のソースとサンプルをコンパイルして調べました。良い出発点は、コンパイル (C++) して 'executor' の例を実行し、次に 'tradeclient' の例を使用して 'executor' に接続し、注文要求を送信することだと考えました。1 つはアクセプターとしての「エグゼキューター」用、もう 1 つはイニシエーターとしての「トレードクライアント」用の 2 つの個別のセッション ファイルを作成しました。どちらも同じ Win7 PC で実行されています。
「executor」は実行されますが、tradeclient はそれに接続できず、その理由がわかりません。Mini-fix をダウンロードし、executor にメッセージを送信できたので、executor が動作していることがわかります。問題は、tradeclient のセッション設定にあると思います。以下にそれらの両方を含めました。誰かが通信できない原因を指摘できることを望んでいました. どちらもポート 56156 を使用して同じコンピューターで実行されています。
--アクセプタ session.txt----
[DEFAULT]
ConnectionType=acceptor
ReconnectInterval=5
SenderCompID=EXEC
DefaultApplVerID=FIX.5.0
[SESSION]
BeginString=FIXT.1.1
TargetCompID=SENDER
HeartBtInt=5
#SocketConnectPort=
SocketAcceptPort=56156
SocketConnectHost=127.0.0.1
TransportDataDictionary=pathToXml/spec/FIX50.xml
StartTime=07:00:00
EndTime=23:00:00
FileStorePath=store
---- イニシエーター session.txt ---
[DEFAULT]
ConnectionType=initiator
ReconnectInterval=5
SenderCompID=SENDER
DefaultApplVerID=FIX.5.0
[SESSION]
BeginString=FIXT.1.1
TargetCompID=EXEC
HeartBtInt=5
SocketConnectPort=56156
#SocketAcceptPort=56156
SocketConnectHost=127.0.0.1
TransportDataDictionary=pathToXml/spec/FIX50.xml
StartTime=07:00:00
EndTime=23:00:00
FileLogPath=log
FileStorePath=store
- - - - 終わり - - -
更新: 返信ありがとうございます...ログファイルのディレクトリが存在しなかったことが判明しました。それらを作成すると、両者は通信を開始しました。例外をスローしなかったが、適切な動作を無効にした何らかのロギング エラーであったに違いありません。
チェックすべきエラー状態はありますか? 私は例外に頼っていましたが、明らかに十分ではありません。