简体   繁体   English

为什么在 FIX 登录期间连接被重置?

[英]Why is connection being reset during FIX logon?

I'm having an issue when testing my FIX client against my FIX server.我在针对我的 FIX 服务器测试我的 FIX 客户端时遇到问题。 My client logs look like this and you can see that the connection is being reset and I'm trying to determine why.我的客户端日志如下所示,您可以看到连接正在重置,我正在尝试确定原因。

FIX client logs:修复客户端日志:

<event> Created session
<event> Connecting to 127.0.0.1 on port 5001
2/1/2023 2:50:32 PM inf: [FixClient] ToAdmin: FIX.4.4:CLIENT->SERVER [98, 2], [108, 30]
<event> Connection succeeded
<event> Session reset: ResetOnLogon
2/1/2023 2:50:32 PM inf: [FixClient] ToAdmin: FIX.4.4:CLIENT->SERVER [98, 0], [108, 30], [141, Y]
<event> Session reset: ResetSeqNumFlag
<outgoing> 8=FIX.4.49=7335=A34=149=CLIENT52=20230201-14:50:32.20356=SERVER98=0108=30141=Y10=177
<event> Initiated logon request
<event> Session FIX.4.4:CLIENT->SERVER disconnecting: System.Net.Sockets.SocketException (54): Connection reset by peer
   at QuickFix.SocketInitiatorThread.ReadSome(Byte[] buffer, Int32 timeoutMilliseconds)
   at QuickFix.SocketInitiatorThread.Read()
2/1/2023 2:50:32 PM inf: [FixClient] OnLogout: FIX.4.4:CLIENT->SERVER
<event> Session reset: ResetOnDisconnect

Client:客户:

SessionID sessionId = new SessionID("FIX.4.4", "CLIENT", "SERVER");

var logon = new QuickFix.FIX44.Logon {
    EncryptMethod = new EncryptMethod(EncryptMethod.None),
    HeartBtInt = new HeartBtInt(30)
};

Session.SendToTarget(logon, sessionId);

client.cfg:客户端.cfg:

[DEFAULT]
ConnectionType=initiator
ReconnectInterval=30
FileStorePath=store
FileLogPath=log
StartTime=00:00:00
EndTime=00:00:00
UseDataDictionary=Y
DataDictionary=./FIX/spec/FIX44.xml
SocketConnectHost=127.0.0.1
SocketConnectPort=5001
LogoutTimeout=5
ResetOnLogon=Y
ResetOnLogout=Y
ResetOnDisconnect=Y

[SESSION]
# inherit ConnectionType, ReconnectInterval and SenderCompID from default
BeginString=FIX.4.4
SenderCompID=CLIENT
TargetCompID=SERVER
HeartBtInt=30

server.cfg:服务器.cfg:

[DEFAULT]
ConnectionType=acceptor
SocketAcceptPort=5001
StartTime=00:00:00
EndTime=00:00:00
FileLogPath=log
UseDataDictionary=Y
ResetOnLogon=Y
ResetOnLogout=Y
ResetOnDisconnect=Y

[SESSION]
BeginString=FIX.4.4
SenderCompID=CLIENT
TargetCompID=SERVER
FileStorePath=store
DataDictionary=./FIX/spec/FIX44.xml

It is the CompIDs.它是 CompID。

Server and client should have swapped CompIDs.服务器和客户端应该交换了 CompID。 Server TargetCompID is Client SenderCompID and vice versa.服务器TargetCompID是客户端SenderCompID ,反之亦然。

Related: What causes the "Disconnecting: Encountered END_OF_STREAM" session message in QuickFIX/J?相关: 是什么导致了 QuickFIX/J 中的“断开连接:遇到 END_OF_STREAM”session 消息?

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM