• <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 胡雨田 閱讀(1605) 評論(0)  編輯 收藏 引用 所屬分類: 金融股票
            狠狠色丁香久久婷婷综合五月 | 国产91久久综合| 久久99免费视频| 9999国产精品欧美久久久久久| 亚洲午夜精品久久久久久人妖| 久久精品中文字幕第23页| 性做久久久久久久久| 91精品国产高清久久久久久io| 亚洲一区二区三区日本久久九| 日本精品久久久久影院日本| 久久不见久久见免费视频7| 品成人欧美大片久久国产欧美| 四虎影视久久久免费| av国内精品久久久久影院| 性高朝久久久久久久久久| 777久久精品一区二区三区无码| 久久精品一区二区三区AV| 亚洲国产成人久久综合一| 久久人与动人物a级毛片| 婷婷久久综合九色综合98| 伊人久久大香线蕉av不卡| 欧美日韩精品久久久免费观看| 国产精品一久久香蕉产线看| 久久精品中文字幕一区| 久久精品国产男包| 久久久久久国产a免费观看不卡| 国产精品久久国产精麻豆99网站| 久久精品国产久精国产果冻传媒| 久久精品国产99久久香蕉| 亚洲国产精品一区二区久久| 久久久亚洲欧洲日产国码aⅴ| 久久热这里只有精品在线观看| 中文精品99久久国产| 久久久久国色AV免费观看| 久久国产成人精品国产成人亚洲| 亚洲国产精品一区二区久久| 91久久精品国产成人久久| 久久久久久极精品久久久| 久久精品免费大片国产大片| 久久久精品波多野结衣| 久久久久免费视频|