【问题标题】:QuickFix C# Could not parse data dictionary fileQuickFix C# 无法解析数据字典文件
【发布时间】:2018-11-01 00:30:28
【问题描述】:

我正在尝试创建 QuickFix 服务器和客户端。

这是我的 QuickFix 服务器。

class Program
{
    [STAThread]
    static void Main(string[] args)
    {
        try
        {
            SessionSettings settings = new SessionSettings(@"C:\Users\anhtv\Desktop\QuickFix\QuickFix\server.cfg");
            FixServerApplication application = new FixServerApplication();
            FileStoreFactory storeFactory = new FileStoreFactory(settings);
            ScreenLogFactory logFactory = new ScreenLogFactory(settings);
            MessageFactory messageFactory = new DefaultMessageFactory();
            SocketAcceptor acceptor = new SocketAcceptor(application, storeFactory, settings, logFactory, messageFactory);

            acceptor.start();
            Console.WriteLine("press <enter> to quit");
            Console.Read();
            acceptor.stop();
        }
        catch (Exception e)
        {
            Console.WriteLine(e);
        }
    }
}

这是我的 server.cfg

# default settings for sessions
[DEFAULT]
FileStorePath=store
FileLogPath=log
ConnectionType=acceptor
ReconnectInterval=60
SenderCompID=ARCA
SOCKETACCEPTHOST=localhost 
SocketAcceptPort=5001

# session definition
[SESSION]
# inherit FileStorePath, FileLogPath, ConnectionType, ReconnectInterval and SenderCompID from default
BeginString=FIX.4.1
TargetCompID=TW
StartTime=12:30:00
EndTime=23:30:00
HeartBtInt=20
SocketAcceptPort=9823
DataDictionary=C:\Users\anhtv\Desktop\QuickFix\QuickFix\fix/FIX41.xml

[SESSION]
BeginString=FIX.4.0
TargetCompID=TW
StartTime=12:00:00
EndTime=23:00:00
HeartBtInt=30
SocketAcceptPort=8323
DataDictionary=C:\Users\anhtv\Desktop\QuickFix\QuickFix\fix/FIX40.xml

[SESSION] 
BeginString=FIX.4.2 
TargetCompID=TW 
StartTime=12:30:00 
EndTime=21:30:00 
# overide default setting for RecconnectInterval 
ReconnectInterval=30 
HeartBtInt=30 
SocketAcceptPort=6523 
# (optional) only listen for incoming connections on a specific host 
SocketAcceptHost=127.0.0.1 
DataDictionary=C:\Users\anhtv\Desktop\QuickFix\QuickFix\fix/FIX42.xml 

当我在线调试时

SocketAcceptor acceptor = new SocketAcceptor(application, storeFactory, settings, logFactory, messageFactory);

运行捕获,异常:

Configuration failed: ..\spec\fix\FIX40.xml: Could not parse data dictionary file

我不明白为什么。找不到配置文件或错误? 有人可以帮忙吗?

【问题讨论】:

    标签: c# quickfix


    【解决方案1】:

    这条路径正确吗?那个奇怪的斜线呢?

    DataDictionary=C:\Users\anhtv\Desktop\QuickFix\QuickFix\fix/FIX40.xml
                                                               ^
    

    该路径上没有文件(错字?),或者错误的斜杠将其弄乱了。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-07-21
      • 2018-10-12
      • 1970-01-01
      • 2018-12-25
      相关资源
      最近更新 更多