Skip to content

Commit 8a522cc

Browse files
committed
加上订阅的功能,加上定时断开与连接的功能
1 parent cb3bf91 commit 8a522cc

11 files changed

Lines changed: 36 additions & 14 deletions

ArchiveData/ArchiveData.csproj

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,7 @@
3434
<ItemGroup>
3535
<Reference Include="NLog, Version=4.0.0.0, Culture=neutral, PublicKeyToken=5120e14c03d0593c, processorArchitecture=MSIL">
3636
<SpecificVersion>False</SpecificVersion>
37-
<HintPath>..\packages\NLog.4.0.1\lib\net45\NLog.dll</HintPath>
37+
<HintPath>..\packages\NLog.4.2.2\lib\net45\NLog.dll</HintPath>
3838
</Reference>
3939
<Reference Include="System" />
4040
<Reference Include="System.Configuration" />

ArchiveData/packages.config

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
11
<?xml version="1.0" encoding="utf-8"?>
22
<packages>
3-
<package id="NLog" version="4.2.0" targetFramework="net45" />
3+
<package id="NLog" version="4.2.2" targetFramework="net45" />
44
</packages>

DataReceiver/App.config

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,8 @@
2525
<!-- 与合约下载器操作的是同一文件 -->
2626
<add key="InstrumentInfoListFileName" value="InstrumentInfoList.json" />
2727
<!-- 将实际订阅的合约保存,如果使用相对实际会写到DataPath下对应的文件,请不要与上一文件同目录,否则死循环 -->
28-
<add key="SaveAsInstrumentInfoListFileName" value="InstrumentInfoList.json" />
28+
<add key="SaveAsFilteredInstrumentInfoListFileName" value="FilteredInstrumentInfoList.json" />
29+
<add key="SaveAsSubscribedInstrumentInfoListFileName" value="SubscribedInstrumentInfoList.json" />
2930
<add key="SaveAsTradingDayFileName" value="TradingDay.json" />
3031

3132
<!-- 行情部分,读取连接信息进行登录,读取合约列表进行订阅,考虑需要排除的信息 -->

DataReceiver/DataReceiver.cs

Lines changed: 22 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,9 @@ public class DataReceiver:ApiBase
3131
public string IncludeFilterListFileName = @"IncludeFilterList.json";
3232
public string ExcludeFilterListFileName = @"ExcludeFilterList.json";
3333

34-
public string SaveAsInstrumentInfoListFileName = @"InstrumentInfoList.json";
34+
public string SaveAsFilteredInstrumentInfoListFileName = @"FilteredInstrumentInfoList.json";
35+
public string SaveAsSubscribedInstrumentInfoListFileName = @"SubscribedInstrumentInfoList.json";
36+
3537
public string SaveAsTradingDayFileName = @"TradingDay.json";
3638

3739
public string ScheduleTasksListFileName = @"ScheduleTasks.json";
@@ -133,6 +135,7 @@ public void ProcessConfig(string fullPath)
133135
SaveAsInstrumentInfoList();
134136
}
135137

138+
// 可用于定时订阅
136139
public void ReSubscribe()
137140
{
138141
Log.Info("重新订阅:{0}", InstrumentInfoList.Count());
@@ -209,11 +212,11 @@ public void Save()
209212
}
210213

211214
/// <summary>
212-
/// 这里保存的是过滤后的合约列表,也就是正在订阅的合约列表,保存在其它地方可供用户下载或检测
215+
/// 这里保存的是过滤后的合约列表,这不是订阅成功的列表
213216
/// </summary>
214217
public void SaveAsInstrumentInfoList()
215218
{
216-
Save(DataPath, SaveAsInstrumentInfoListFileName, InstrumentInfoList);
219+
Save(DataPath, SaveAsFilteredInstrumentInfoListFileName, InstrumentInfoList);
217220
}
218221

219222
public void SaveAsTradingDay()
@@ -288,6 +291,15 @@ public void Connect()
288291
}
289292
}
290293

294+
// 可用来定时断开连接
295+
//public void Disconnect()
296+
//{
297+
// foreach(var api in XApiList)
298+
// {
299+
// api.Disconnect();
300+
// }
301+
//}
302+
291303
public bool Contains(string szInstrument, string szExchange)
292304
{
293305
foreach (var api in XApiList)
@@ -354,6 +366,8 @@ public void RemoveInstrument(InstrumentInfo i)
354366
/// <param name="list"></param>
355367
public int Subscribe(IEnumerable<InstrumentInfo> list)
356368
{
369+
List<InstrumentInfo> SubscribedInstrumentInfoList = new List<InstrumentInfo>();
370+
357371
int x = 0;
358372
foreach (var i in list)
359373
{
@@ -369,6 +383,7 @@ public int Subscribe(IEnumerable<InstrumentInfo> list)
369383
api.Subscribe(i.Instrument, i.Exchange);
370384
api.Log.Debug("尝试订阅:{0}.{1}", i.Instrument, i.Exchange);
371385
bSubscribe = true;
386+
SubscribedInstrumentInfoList.Add(i);
372387
break;
373388
}
374389
}
@@ -379,6 +394,10 @@ public int Subscribe(IEnumerable<InstrumentInfo> list)
379394
++x;
380395
}
381396
}
397+
398+
// 记录实际订阅的合约
399+
Save(DataPath, SaveAsSubscribedInstrumentInfoListFileName, SubscribedInstrumentInfoList);
400+
382401
return x;
383402
}
384403

DataReceiver/DataReceiver.csproj

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -41,7 +41,7 @@
4141
</Reference>
4242
<Reference Include="NLog, Version=4.0.0.0, Culture=neutral, PublicKeyToken=5120e14c03d0593c, processorArchitecture=MSIL">
4343
<SpecificVersion>False</SpecificVersion>
44-
<HintPath>..\packages\NLog.4.0.1\lib\net45\NLog.dll</HintPath>
44+
<HintPath>..\packages\NLog.4.2.2\lib\net45\NLog.dll</HintPath>
4545
</Reference>
4646
<Reference Include="QuantBox.Data.Serializer, Version=2015.3.26.0, Culture=neutral, processorArchitecture=MSIL">
4747
<SpecificVersion>False</SpecificVersion>

DataReceiver/Program.cs

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,8 @@ class Program
3131
public const string KEY_IncludeFilterListFileName = "IncludeFilterListFileName";
3232
public const string KEY_ExcludeFilterListFileName = "ExcludeFilterListFileName";
3333

34-
public const string KEY_SaveAsInstrumentInfoListFileName = @"SaveAsInstrumentInfoListFileName";
34+
public const string KEY_SaveAsFilteredInstrumentInfoListFileName = @"SaveAsFilteredInstrumentInfoListFileName";
35+
public const string KEY_SaveAsSubscribedInstrumentInfoListFileName = @"SaveAsSubscribedInstrumentInfoListFileName";
3536
public const string KEY_SaveAsTradingDayFileName = @"SaveAsTradingDayFileName";
3637

3738
public const string KEY_ScheduleTasksListFileName = "ScheduleTasksListFileName";
@@ -49,8 +50,9 @@ static void Main(string[] args)
4950
dataReceiver.InstrumentInfoListFileName = ConfigurationManager.AppSettings[KEY_InstrumentInfoListFileName];
5051
dataReceiver.IncludeFilterListFileName = ConfigurationManager.AppSettings[KEY_IncludeFilterListFileName];
5152
dataReceiver.ExcludeFilterListFileName = ConfigurationManager.AppSettings[KEY_ExcludeFilterListFileName];
52-
53-
dataReceiver.SaveAsInstrumentInfoListFileName = ConfigurationManager.AppSettings[KEY_SaveAsInstrumentInfoListFileName];
53+
54+
dataReceiver.SaveAsFilteredInstrumentInfoListFileName = ConfigurationManager.AppSettings[KEY_SaveAsFilteredInstrumentInfoListFileName];
55+
dataReceiver.SaveAsSubscribedInstrumentInfoListFileName = ConfigurationManager.AppSettings[KEY_SaveAsSubscribedInstrumentInfoListFileName];
5456
dataReceiver.SaveAsTradingDayFileName = ConfigurationManager.AppSettings[KEY_SaveAsTradingDayFileName];
5557

5658
dataReceiver.ScheduleTasksListFileName = ConfigurationManager.AppSettings[KEY_ScheduleTasksListFileName];

DataReceiver/packages.config

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,5 +2,5 @@
22
<packages>
33
<package id="Microsoft.Tpl.Dataflow" version="4.5.24" targetFramework="net45" />
44
<package id="Newtonsoft.Json" version="7.0.1" targetFramework="net45" />
5-
<package id="NLog" version="4.2.0" targetFramework="net45" />
5+
<package id="NLog" version="4.2.2" targetFramework="net45" />
66
</packages>

DataReceiver使用手册.docx

-1.6 KB
Binary file not shown.

GetInstruments/App.config

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,7 @@
3131
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
3232
<dependentAssembly>
3333
<assemblyIdentity name="NLog" publicKeyToken="5120e14c03d0593c" culture="neutral" />
34-
<bindingRedirect oldVersion="0.0.0.0-4.0.0.0" newVersion="4.0.0.0" />
34+
<bindingRedirect oldVersion="0.0.0.0-3.2.1.0" newVersion="3.2.1.0" />
3535
</dependentAssembly>
3636
</assemblyBinding>
3737
</runtime>

GetInstruments/GetInstruments.csproj

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,7 @@
3737
<ItemGroup>
3838
<Reference Include="NLog, Version=4.0.0.0, Culture=neutral, PublicKeyToken=5120e14c03d0593c, processorArchitecture=MSIL">
3939
<SpecificVersion>False</SpecificVersion>
40-
<HintPath>..\packages\NLog.4.0.1\lib\net45\NLog.dll</HintPath>
40+
<HintPath>..\packages\NLog.4.2.2\lib\net45\NLog.dll</HintPath>
4141
</Reference>
4242
<Reference Include="QuantBox.XAPI, Version=1.2.0.0, Culture=neutral, processorArchitecture=MSIL">
4343
<SpecificVersion>False</SpecificVersion>

0 commit comments

Comments
 (0)