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

Windows10 64位Python3.7调用QuickFix SocketAcceptor报参数错误

问题根因

你遇到的参数类型不匹配报错是自定义Application子类的父类初始化逻辑错误导致的,底层C++扩展无法识别你创建的myApplication实例为合法的FIX::Application类型对象,因此匹配不到对应的重载构造函数。

修复方案

1. 修正父类初始化调用

你当前myApplication类的__init__方法中super调用写法错误:

# 错误写法:super第一个参数传入了父类,导致没有正确初始化fix.Application本身
super(fix.Application,self).__init__()

将其修改为正确的子类初始化语法即可:

# Python3 通用写法
super().__init__()
# 或者兼容写法
super(myApplication, self).__init__()

2. 可选逻辑修正(按需调整)

如果你的需求是实现FIX客户端,当前代码和配置存在逻辑不匹配:

  • SocketAcceptor是服务端使用的类,用来监听端口接受客户端连接,对应你配置里的ConnectionType=acceptor
  • 客户端应该使用SocketInitiator类,同时将配置中ConnectionType改为initiator,新增SocketConnectHost、SocketConnectPort配置项指向服务端地址
验证

修改完成后重新运行代码,参数类型即可被C++层正确识别,不会再报重载函数匹配错误。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.02 00:57:04