• <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)  編輯 收藏 引用 所屬分類: 金融股票
            国产精品99久久久久久董美香| 中文字幕久久欲求不满| 人妻无码久久一区二区三区免费| 久久久久久久亚洲Av无码| 一级做a爰片久久毛片人呢| 色播久久人人爽人人爽人人片aV| 欧美大香线蕉线伊人久久| 国产亚州精品女人久久久久久 | 久久午夜夜伦鲁鲁片免费无码影视| 蜜桃麻豆WWW久久囤产精品| 久久综合久久久| 日韩乱码人妻无码中文字幕久久 | 久久婷婷国产麻豆91天堂| 日本精品一区二区久久久| 精品久久777| 久久人人爽爽爽人久久久| 久久综合视频网| 久久无码国产| 国产精品免费久久久久电影网| 日韩精品久久无码中文字幕| 一级A毛片免费观看久久精品| 久久久久久久综合日本亚洲| 香蕉久久夜色精品升级完成| 亚洲人成无码www久久久| 国产农村妇女毛片精品久久| 久久99热国产这有精品| av无码久久久久不卡免费网站 | 久久久国产打桩机| 亚洲а∨天堂久久精品| 精品国产婷婷久久久| 亚洲精品高清久久| 国产精品xxxx国产喷水亚洲国产精品无码久久一区 | 色综合久久中文色婷婷| 久久综合中文字幕| 久久不射电影网| 99久久国产综合精品成人影院| 99久久久精品免费观看国产| 91精品国产乱码久久久久久| 亚洲综合久久综合激情久久 | 国产韩国精品一区二区三区久久| 久久久久亚洲av无码专区|