You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

QuickFIX/J对接彭博SSL连接时报Encountered END_OF_STREAM错误如何排查

QuickFIX/J连接彭博报错Disconnecting: Encountered END_OF_STREAM排查方案

该错误本质是彭博服务端主动关闭了TCP连接,通常发生在SSL握手阶段或登录参数校验阶段,可按以下优先级排查:

1. SSL证书相关问题(最高概率)

  • 配置中证书路径使用了Windows系统的反斜杠\,而运行环境为Linux系统,需将所有证书路径的分隔符替换为Linux标准正斜杠/,否则程序无法读取证书文件导致SSL握手失败。
  • 检查CentOS上存放的pem证书文件权限,需保证运行Jar包的用户对所有证书、私钥文件有可读权限,可执行命令chmod 600 /path/to/your/pem/*.pem配置权限。
  • 确认三套接入节点对应的证书与彭博分配的配置一致,不要混用NY和NJ节点的证书文件。

2. 配置参数校验

  • 确认[session]段的SenderCompID、TargetCompID、SessionQualifier三个参数与彭博侧分配的信息完全一致,任一参数不匹配都会被服务端直接断开连接。
  • 移除[default]段和[session]段重复定义的冗余参数,避免配置加载时出现参数覆盖错误。

3. 网络连通性校验

  • 在CentOS服务器上执行openssl命令手动验证SSL连通性,确认网络、证书正常:
openssl s_client -connect 69.191.198.38:8228 -tls1_2 -cert /path/to/cert.pem -key /path/to/key.pem -CAfile /path/to/CACerts.pem

如果命令返回握手成功结果,说明网络和证书无问题,否则需检查公网出口IP是否已被彭博加入白名单、本地防火墙是否放行8228端口出站请求。

4. 代码逻辑修正

  • 无需手动调用自定义的logon()方法触发登录,ThreadedSocketInitiator调用start()方法后会自动发起连接和登录请求,手动调用logon会导致重复登录被服务端拒绝断开。
  • 在QuickFixJApplication的fromAdmin、onLogout方法中添加日志打印逻辑,捕获服务端返回的拒绝登录、异常断开的具体提示信息。
  • 查看QuickFIX/J生成的事件日志(路径为配置的FileLogPath对应目录),日志中会记录SSL握手错误、登录参数校验错误等更详细的故障信息。

内容的提问来源于stack exchange,提问作者user16806803

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.06 05:24:03