• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>

            huyutian

            他強由他強,清風拂山崗;他橫由他橫,明月照大江。他自狠來他自惡,我自一口真氣足

              C++博客 :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理 ::
              20 隨筆 :: 47 文章 :: 22 評論 :: 0 Trackbacks

            搞股票的很多人都聽說過Wind資訊,Wind的板塊分類是比較準確和精細的,更新也比較及時。最近想將Wind的板塊分類移植到我自己開發的股票系統中去,花時間分析了一下網絡協議和文件結構,記錄于此。
            Wind的板塊文件一般在..\Windin\WWT\etc目錄下,與之相關的文件主要有
            1=cntradedates.dat      國內A股歷史交易日期列表
            2=INDEXSECTORS.DAT      Wind指數名稱及代碼
            3=RelatedSymbols.dat    A股與港股對照關系表
            4=secbasicdelt.dat      已發行未上市股票?
            5=secbasichis.dat       已摘牌股票
            6=sysgrp.xml            板塊分類名稱及編號
            7=SectorElementDelt.dat 板塊數據文件
            8=SectorElementHis.dat  板塊數據文件
            9=stocksplit.dat
            10=currency.dat         匯率
            11=SysConfig.ini        文件索引
            12=etc.zip              Wind服務器地址文件
            以上文件都是文本文件,文件結構比較簡單,一看就能明白。下面主要分析下Wind是如何更新以上文件的。為了保證能夠與Wind的分類實時自動同步,這個是必須的。
            Wind在系統啟動時會與服務器相連檢查上述配置文件是否最新。檢查辦法是,發送HTTP請求到
            http://114.80.214.51/FileServer/DataFile.aspx?cfg=etc,服務器會返回一份上述文件的MD5碼表,與本地文件的MD5進行比對,如果不相同,就準備更新。下面是截取的服務器應答包。
            888888?  base\chardword.config:1F3A230D00B3262E447991CDB8F60E35;
            cntradedates.dat:39A8AF6359FB70D8002689ACC70BF3A3;
            currency.dat:2738738EF3A3F949A012A952E020E408;
            etc.zip:72DDCB3B5F8CD52F4F3B00AA77788C49;
            hqafdelt.dat:D41D8CD98F00B204E9800998ECF8427E;
            hqafhis.dat:9A0120E611A11E8BC77C5285E537EA2E;
            indexsectors.dat:7FB9699D40F9C47F309308662D704293;
            relatedsymbols.dat:535A2D3DF67E42CAF3DABD3B91F3FFC2;
            relatedsymbolslocal.dat:79ED9E9A02D46B57AE612370DAB8B84C;
            secbasicdelt.dat:15CE8DCB34C0620DE6A0871A7624B309;
            secbasichis.dat:AFA640C33669FFD0342F022650DBD536;
            secbasicself.dat:88502DE7F9C14CC642FE9855EDDE0EA7;
            secbrief.dat:A87B901E8BE18C431B5CCA6EC36D7AD0;
            sectorelementdelt.dat:3BC53A5D76602DE056ABB7758D81451A;
            sectorelementhis.dat:1397955C466767DAF9587F59F923B6B4;
            stocksplit.dat:D41D8CD98F00B204E9800998ECF8427E;
            suspension.dat:7FBBAFB7AAD5E68356FEAF9DE38036AA;
            sysgrp.xml:463FE2657F9EA4A4545140C01D12DA95;
            warrantinfo.dat:AFB2EF0A32F1ACDA9A30A4B0FF6253D3

            888888是wind服務器返回的數據包頭,以sysgrp.xml為例其MD5碼就是463FE2657F9EA4A4545140C01D12DA95
            大家可以隨便找個Md5計算文件比對一下就知道了。
            下載板塊文件的HTTP請求是
            http://114.80.214.51/FileServer/DataFile.aspx?cfg=etc&type=1&files=cntradedates.dat;currency.dat;indexsectors.dat;relatedsymbols.dat;secbasicdelt.dat;sectorelementdelt.dat;stocksplit.dat;sysgrp.xml
            注意如果只需要下載部分文件,可以把files=后面的文件列表改一改就可以了。
            服務器返回的數據結構如下。


            簡單分析下包結構,數據包的開頭仍然是888888的包頭,接下來一個DWORD是本次下載的文件數目。再接下來是第一個文件的文件名,注意是PASCAL格式的字符串,字符串前面一個DWORD是字符串長度。然后以"1"或者說0x31,再后面是一個DWORD的該文件ZIP壓縮包長,以及壓縮數據長度,接著是第二個、第三個文件直到結束。好像也不很復雜喲,不過可是花了我一晚上的時間。
            以上這些格式都搞清楚了,剩下的就是寫下載同步的程序代碼了。哈哈,這個就不多說了。

            posted on 2011-04-21 17:09 胡雨田 閱讀(1596) 評論(0)  編輯 收藏 引用 所屬分類: 金融股票
            国产精品久久久久久久久久免费| 久久精品人人做人人妻人人玩| 青青青国产成人久久111网站| 2020久久精品国产免费| 欧美伊香蕉久久综合类网站| 久久影院久久香蕉国产线看观看| 午夜肉伦伦影院久久精品免费看国产一区二区三区 | 三级片免费观看久久| 国产激情久久久久久熟女老人| 久久精品国产99久久久| 久久无码一区二区三区少妇| 久久久精品国产| 中文字幕一区二区三区久久网站| 久久亚洲AV无码精品色午夜| 国产精品一久久香蕉国产线看观看| 久久九九久精品国产| 青青草原精品99久久精品66 | 亚洲国产成人久久精品99| 久久久精品国产sm调教网站| 蜜臀久久99精品久久久久久| 狠狠色丁香婷婷综合久久来| 日韩欧美亚洲综合久久影院Ds| 久久精品国产亚洲AV无码偷窥| 午夜肉伦伦影院久久精品免费看国产一区二区三区 | 99久久精品久久久久久清纯| 中文国产成人精品久久不卡| 精品多毛少妇人妻AV免费久久| 久久综合国产乱子伦精品免费| 久久久精品人妻无码专区不卡 | 久久AⅤ人妻少妇嫩草影院| 亚洲人成精品久久久久| 亚洲精品乱码久久久久久不卡| 精品久久久久久中文字幕| 午夜人妻久久久久久久久| 亚洲午夜精品久久久久久app| 国内精品久久久久久麻豆| 久久er国产精品免费观看2| 少妇久久久久久久久久| 日韩精品久久无码人妻中文字幕| 久久精品人妻中文系列| 久久精品中文字幕一区|