C# 快速修复/n错误:';已在Quickfix.SocketInitiatorThread.Read()和#x27;

C# 快速修复/n错误:';已在Quickfix.SocketInitiatorThread.Read()和#x27;,c#,quickfix,fix-protocol,C#,Quickfix,Fix Protocol,我已使用此站点的QuickFIX/n is v1.4.0创建了一个修复应用程序。 当我使用两台PC(一台作为服务器,另一台作为客户端)执行应用程序时,它给出了一个错误: 已在远程主机上强制关闭现有的 Quickfix.SocketInitiatorThread.Read() 日志和日志详细信息如下: 20130814-23:23:47.828 : Created session 20130814-23:24:07.531 : FIX.4.4:Server->Client Socket Re

我已使用此站点的
QuickFIX/n is v1.4.0
创建了一个修复应用程序。 当我使用两台PC(一台作为服务器,另一台作为客户端)执行应用程序时,它给出了一个错误:

已在远程主机上强制关闭现有的
Quickfix.SocketInitiatorThread.Read()

日志和日志详细信息如下:

20130814-23:23:47.828 : Created session
20130814-23:24:07.531 : FIX.4.4:Server->Client Socket Reader 6044116 accepting session FIX.4.4:Server->Client from 192.168.1.109:3300
20130814-23:24:07.531 : FIX.4.4:Server->Client Acceptor heartbeat set to 0 seconds
20130814-23:24:07.781 : Session reset: ResetOnLogon
20130814-23:24:07.796 : Sending time accuracy problem
20130814-23:24:07.812 : Message 1 Rejected: 10
20130814-23:24:07.812 : Verify failed: Tried to send a reject while not logged on
20130814-23:24:07.812 : Session FIX.4.4:Server->Client disconnecting: Verify failed: Tried to send a reject while not logged on
20130814-23:24:07.812 : Session reset: ResetOnDisconnect
我们已尝试解决“发送时间准确性问题”,即时间戳错误。我们在客户机和服务器上设置了相同的时间,并进行了尝试,但没有成功。 我们还在配置文件中设置
MaxLatency
CheckLatency
的值。我们设置了
MaxLatency=120
CheckLatency=Y
,但没有解决问题。请您为我提供此问题的解决方案

实际日志消息为:

20130816-05:44:37.875 : 8=FIX.4.49=6735=A34=149=Client52=20130816-23:12:39.56256=Server98=0108=3010=223
20130816-05:44:39.437 : 8=FIX.4.49=6735=A34=349=Client52=20130816-23:12:41.40656=Server98=0108=3010=215
20130816-05:44:40.468 : 8=FIX.4.49=6735=A34=449=Client52=20130816-23:12:42.40656=Server98=0108=3010=217
20130816-06:46:02.843 : 8=FIX.4.49=7335=A34=149=Client52=20130817-00:13:43.04656=Server98=0108=30141=Y10=254
20130816-06:46:04.515 : 8=FIX.4.49=7335=A34=149=Client52=20130817-00:13:45.89056=Server98=0108=30141=Y10=007
20130816-06:46:05.515 : 8=FIX.4.49=7335=A34=149=Client52=20130817-00:13:46.89056=Server98=0108=30141=Y10=008
20130816-06:46:10.359 : 8=FIX.4.49=7335=A34=149=Client52=20130817-00:13:51.62556=Server98=0108=30141=Y10=000

请将运行此应用程序的建议和设置发送给我,以免出现错误。

看起来有人在2天前回答了您的问题,正确识别了
CheckLatency
设置,无论出于何种原因,都是在QuickFIX中硬编码的/n。换句话说,无论是配置文件中的
CheckLatency=Y
还是
CheckLatency=N
,都无关紧要,因为在加载配置时它将被忽略

同样,正如另一张海报所示,您可以在QuickFIX/n源中修复此问题并重新生成程序集


这里的另一个选项是在启动连接之前,将代码中的
会话
检查延迟
属性更改为false。

是否可以包括正在交换的实际修复消息?是否尝试过
检查延迟=N
?是。我们检查了不同的值。没有任何效果。可能值得包括配置。您在问题中同时用于客户端和服务器。客户端配置文件为[默认]FileStorePath=storefilelogpath=log ConnectionType=initiator ReconnectInterval=60 SenderCompID=client[SESSION]BeginString=FIX.4.4 TargetCompID=Executor StartTime=00:00:00 EndTime=00:00:00 HeartBtInt=30 SocketConnectPort=5001 SocketConnectHost=192.168.1.109 DataDictionary=FIX44.xml UseDataDictionary=Y#HttpAcceptPort=9911 LogoutTimeout=5 ResetOnLogon=Y实际上该解决方案没有解决问题。还检查了时间戳错误。但它不起作用。有任何问题吗其他解决方案??如果日志仍然显示
发送时间准确性问题
,则这就是问题所在。因此,您的解决方案是修复服务器/客户端上的时钟同步/时区,或者告诉QuickFIX不要检查它们,这必须通过设置
[Session].CheckLatency=false
在代码中完成。感谢您的帮助。问题已解决。实际上错误在源代码中。非常感谢。