我正在使用「http://www.quickfixengine.org」中的python代碼示例並提出問題。我創建了使用以下在QuickFIX中發送消息
import quickfix
if len(sys.argv) < 2: return
fileName = sys.argv[1]
try:
settings = quickfix.SessionSettings(fileName)
application = quickfix.MyApplication()
storeFactory = quickfix.FileStoreFactory(settings)
logFactory = quickfix.FileLogFactory(settings)
initiator = quickfix.SocketInitiator(application, storeFactory, settings, logFactory)
initiator.start()
# while condition == true: do something
initiator.stop()
except quickfix.ConfigError, e:
print e
建立了連接,我得到記錄中顯示的代碼段我的應用程序,現在我要發送消息(命令,例如)。提供的代碼段爲:
def sendOrderCancelRequest:
message = quickfix.Message();
header = message.getHeader();
header.setField(...)
*<...build the header and body...>*
message.setField(...)
Session.sendToTarget(message)
我的問題是關於那個Session
對象。在哪裏/如何創建?它是用Session = quickfix.Session()
之類的東西創建的,還是其他沒有顯示的東西?我已經嘗試了一些東西,但它的文檔只是試錯的缺乏......
謝謝@grant。我明白'sendToTarget()'是'Session'中的一個方法,我的問題是類的實例在哪裏創建。沒有在我發佈的代碼中的任何地方創建名稱爲「Session」的任何東西,以便可以使用它。 – gearhead
@gearhead - 我的壞,我誤解了。看到我的更新回答。 –
謝謝@Grant。我想它是在幕後創建的。當我使用QuickFIX網站的代碼時出現錯誤。當它到達那條線時,我得到一個運行時錯誤: ''NameError:name'Session'is not defined'' 這是有道理的,因爲我從來沒有用這個名字創建任何東西... 我想我想它雖然。如果我使用: 'quickfix.Session_sendToTarget(message)' Everything _seems_ to work 再次感謝@Grant。我非常感謝您在我的前幾篇文章中提供的所有幫助和建議。 – gearhead