Python QuickFIX登录故障:正在发送多个rapid fire登录尝试

Python QuickFIX登录故障:正在发送多个rapid fire登录尝试,python,quickfix,Python,Quickfix,QuickFIX登录问题:(使用QuickFIX,使用Python2.7中的FIX 4.4) 一旦我执行了initiator.start()操作,就会建立连接并发送登录消息。但是,我从来没有看到代理发回的ACK和会话状态消息(所有重载的应用程序方法都应该打印出它们收到的内容) QuickFIX立即重新尝试登录(根据代理日志文件),同样的情况也会发生,但根据服务器,我已经登录了 然后,QuickFIX发出一个注销命令,服务器遵守该命令 我已尝试在设置文件中输入超时值,但无效。(我是否需要在代码中显

QuickFIX登录问题:(使用QuickFIX,使用Python2.7中的FIX 4.4)

一旦我执行了
initiator.start()
操作,就会建立连接并发送登录消息。但是,我从来没有看到代理发回的ACK和会话状态消息(所有重载的应用程序方法都应该打印出它们收到的内容)

QuickFIX立即重新尝试登录(根据代理日志文件),同样的情况也会发生,但根据服务器,我已经登录了

然后,QuickFIX发出一个注销命令,服务器遵守该命令

我已尝试在设置文件中输入超时值,但无效。(我是否需要在代码中显式引用这些值以使用这些值,或者引擎是否会看到它们并自动执行相应操作?)


你知道这是怎么回事吗?

听起来你好像没有启用消息日志。如果您的应用程序拒绝低于应用程序级别的消息(例如,如果seq no错误,或者消息格式不正确),那么它将在您的自定义消息处理程序看到之前被拒绝


如果您使用ScreenLogStore启动启动器,请将其更改为FileLogStore。这将创建一个日志文件,其中包含会话中发送和接收的所有消息,无论是否有效。美元到甜甜圈你会看到你的登录确认以及一些传输层拒绝。

解决了!我认为我的datadictionary(FIX44.xml)文件有问题。我以前见过它有问题,但我想我已经解决了。我在网上得到了一份新的副本,并把它放了进去,现在一切似乎都正常了。可能是坏字典不允许修复程序接受登录响应?

检查您的代理是否向您发送任何登录确认消息?C++中有My/toADmin方法,在Python中检查它的相关对手,并尝试打印所有的消息,而不是在任何消息处理程序中。如果可能,请在此处转储修复消息的副本或亲自检查。你可能会发现什么地方可能有问题。谢谢@dumbcoder。我的代理能够看到我的登录尝试,并说它们会以Ack和状态消息进行响应,但我从未看到这些消息(我在所有重载的quickfix函数中打印消息以显示传入的消息),quickfix似乎也不会响应,因为它会立即发送另一次登录尝试,然后是注销消息在配置中注销的值是什么。尝试将其设置为更高的数字,您不需要在消息中显式使用它们。这是由QuickFIX为您完成的。你从经纪人那里收到过任何消息吗?“你的心音设置好了吗?可能不是问题,但试着设置一下。”DumbCoder,谢谢你的帮助。偶尔我会得到一个“登录时密码不正确”,这样我就可以收到消息。支持人员说,如果他们的服务器端在数据库操作中超时,可能会发生这种情况。通常,根据经纪人的记录,我可以很好地登录,只是从来没有看到任何确认。我确实弄乱了超时值,但它没有改变任何东西。“我想这是有道理的,因为根据我的经纪人的说法,没有什么是超时的。”DumbCoder-解决了!我认为我的datadictionary(FIX44.xml)文件有问题。我以前见过它有问题,但我想我已经解决了。我在网上得到了一份新的副本,并把它放了进去,现在一切似乎都正常了。可能是坏字典没有让FIX接受登录响应?将近6年后,这个答案并没有解决我的问题,但它指出我要检查数据字典的配置,瞧,设置
UseDataDictionary=N
成功了。谢谢你,伙计!