前一个月在开发一个贵金属的项目,虽然我这边只是负责转发的功能,但对于碰到的quickfix的相关问题还需要总结下来。因为当时自学quickfix的时候,苦于网上资料太少,所以学起来很艰辛,因此有了点点经验后也想分享给大家。当然,总结不全面后续会继续补充。
下面是我工作中遇到的一些问题的总结:
一、对方消息接收不到,可以从以下几方面查找问题:
1.IP和端口是否配置正确,且能ping通(可以用telnet+IP+端口的方式验证)
2.sender和target是否配置正确
3.查看是否有无其他报错信息
二、本地端口无法成功开启,可以试试以下方法:
1.查看防火墙是否开启
2.查看端口是否被其他程序占用
3.试试重启eclipse或者电脑
三、服务器端消息发不出去或被拒绝
1.对方服务器未开
2.要发的那条message有不合法的字段类型等等(在创建一个message的时候,需要严格按照Fix44.xml中的Message标签中的描述(是否必填,类型等来构建)
四、如果是自己本地测试,作为转发且需要两个客户端和两个服务端,出现只有其中一个端口能够成功开启,另一个端口不能开启,可以检查两个session对应的target值是否一样,如果一样则改成不一样的:连同一个IP,target最好配置不一样
五、当出现的问题因为日志太多而无法快速查出原因的时候,比较笨且有效的方法不妨试试:
用“error”、"unknown"、"exception"等关键字查找是否有错误日志,以帮助快速定位出错的行
也希望大家懂quickfix看到这篇文章后多多发表一些自己的关于quickfix的经验,方便大家相互学习。谢谢!