我是一个接受者,无法控制发起者。 每当发起人连接我就会得到这个
58=MsgSeqNum too low, expecting x but received y
到目前为止尝试了ResetOnLogon = Y,但它没有帮助。可能发起人没有匹配的配置。
接下来的想法是解析字段58并从中设置SeqNum,有没有办法设置SeqNum? (最好不要接触.seqnums文件)
编辑:我找到了一种改变序列号的方法,但它似乎不起作用,仍然得到相同的消息
session.setNextSenderMsgSeqNum(x);
session.setNextTargetMsgSeqNum(x);
答案 0 :(得分:0)
客户端和服务器之间的序列号必须是同步的。在您的情况下,即使您重置序列号,您也会收到相同的错误,因为客户端将发送一个更大的序列号。通常的做法是客户端和服务器都重置协议上的序列号(登录,每天或发送141 = Y等)。
答案 1 :(得分:-1)
查看SequenceReset消息。发送应用程序使用序列重置消息来重置对方的输入序列号。