我正在使用来自quickfix下载的tradeclient c演示代码获得“套接字错误:通过对等方重置连接”消息 .
另一位用户评论说它与网络问题有关 . 如果有人有解决方案,将不胜感激 .
QuickFix C++ Socket Error Connection Reset By Peer?
<20141221-17:32:11.049, FIX.4.4:myusername->hostusername, event>
(Created session)
<20141221-17:32:11.056, FIX.4.4:myusername-> hostusername, event>
(Connecting to fix.hostusername.com on port 5001)
<20141221-17:32:11.221, FIX.4.4:myusername-> hostusername, outgoing>
(8=FIX.4.49=10735=A34=149=myusername =20141221-17:32:11.21856= hostusername 98=0108=30141=Y10=000)
<20141221-17:32:11.221, FIX.4.4:myusername-> hostusername, event>
(Initiated logon request)
<20141221-17:32:11.253, FIX.4.4:myusername-> hostusername, event>
(Socket Error: Connection reset by peer.)
<20141221-17:32:11.253, FIX.4.4:myusername-> hostusername, event>
(Disconnecting)
我想我找到了原因 . 我正在尝试连接的主机是使用支持SSL的quickfix java . quickfix c客户端似乎不支持会话设置中的SSL启用标记 . 终于不得不求助于wireshark来确定这一点 . 我搜索了整个网络,很多人都报告了这个类似的错误 . 我希望这篇文章能够保存他们未来的任何人无休止地调试以解决这个“套接字错误:连接重置由同行”错误 .
4 回答
我知道
"Socket Error: Connection reset by peer"
的两个原因是: -1)你的
SenderCompId/TargetCompId
与另一方的不匹配 . 在这种情况下,请确保使用正确的 .2)另一个是服务器期望的序列号与您发送的序列号不同 . 在这种情况下,只需尝试使用
ResetOnLogon
字段(在您的注册表文件中)为否,并检查是否可以解决问题 .这个错误可能有很多原因 . 但是,我怀疑网络是否对此错误负责,因为连接请求已正确发送到服务器 . 您可以在互联网上搜索更广泛的答案 .
很可能是防火墙,拥有合适的IP和端口,以及获得许可的权限吗?
我想我找到了原因 . 我正在尝试连接的主机是使用支持SSL的quickfix java . quickfix c客户端似乎不支持会话设置中的SSL启用标记 . 终于不得不求助于wireshark来确定这一点 . 我搜索了整个网络,很多人都报告了这个类似的错误 . 我希望这篇文章能够保存他们未来的任何人无休止地调试以解决这个“套接字错误:连接重置由同行”错误 . - 盖革zaehler
我们没有正确导入安全证书时收到此错误消息 .