股票行情 app,是不是要用 socket? - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
callmexiaoliu
V2EX    Android

股票行情 app,是不是要用 socket?

  •  
  •   callmexiaoliu 2016-10-22 15:09:49 +08:00 13621 次点击
    这是一个创建于 3280 天前的主题,其中的信息可能已经有所发展或是发生改变。

    小白一个。 我想搞一个实时的行情 app 练练手,找到了一些可以用的免费 api 来取数据。(聚合,新浪,雅虎什么的) 真要写的时候遇到一个问题,我发一次请求只能从他们那里得到一个时间点的数据,比如发送

    http://web.juhe.cn:8080/finance/stock/hs?gid=sh601009&key=APPKEY

    它只能返回 { "resultcode":"200", /返回码, 200:正常/ "reason":"SUCCESSED!", "result":[ { "data":{ "gid":"sh601009", /股票编号/ "increPer": "9.91", /涨跌百分比/ "increase": "43.99", /涨跌额/ "name":"南京银行", /股票名称/ "todayStartPri":"8.26", /今日开盘价/ "yestodEndPri":"8.26", /昨日收盘价/ "nowPri":"8.37", /当前价格/ "todayMax":"8.55", /今日最高价/ "todayMin":"8.25", /今日最低价/ "competitivePri":"8.37", /竞买价/ "reservePri":"8.38", /竞卖价/ "traNumber":"34501453", /成交量/ "traAmount":"290889560", /成交金额/ "buyOne":"10870", /买一/ "buyOnePri":"8.37", /买一报价/ "buyTwo":"177241", /买二/ "buyTwoPri":"8.36", /买二报价/ "buyThree":"92600", /买三/ "buyThreePri":"8.35", /买三报价/ "buyFour":"87200" /买四/ "buyFourPri":"8.34", /买四报价/ "buyFive":"113700", /买五/ "buyFivePri":"8.42", /买五报价/ "sellOne":"47556", /卖一/ "sellOnePri":"8.38", /卖一报价/ "sellTwo":"103057", /卖二/ "sellTwoPri":"8.39", /卖二报价/ "sellThree":"186689", /卖三/ "sellThreePri":"8.40", /卖三报价/ "sellFour":"49000", /卖四/ "sellFourPri":"8.41", /卖四报价/ "sellFive":"214535", /卖五/ "sellFivePri":"15.21", /卖五报价/ "date":"2012-12-11", /日期/ "time":"15:03:06", /时间/ }, "dapandata":{/大盘数据可通过字段 type 单独查询/ }, "gopicture":{

    "minurl":"http://image.sinajs.cn/newchart/min/n/sh601009.gif",/*分时 K 线图*/ "dayurl":"http://image.sinajs.cn/newchart/daily/n/sh601009.gif",/*日 K 线图*/ "weekurl":"http://image.sinajs.cn/newchart/weekly/n/sh601009.gif",/*周 K 线图*/ "monthurl":"http://image.sinajs.cn/newchart/monthly/n/sh601009.gif"/*月 K 线图*/ } 

    }] } ----------------------------------深(上)证指数示例------------------------------------------------------------------ { "error_code": 0 "reason": "SUCCESSED!", "result": { "dealNum": "24388041799",/成交量/ "dealPri": "340674441059.270",/成交额/ "highPri": "10357.417",/最高/ "increPer": "-0.46",/涨跌百分比/ "increase": "-43.756",/涨跌幅/ "lowpri": "10121.741",/最低/ "name": "深证成指",/名称/ "nowpri": "10270.855",/当前价格/ "openPri": "10200.547",/今开/ "time": "2015-09-22 14:45:25",/时间/ "yesPri": "10176.727"/昨收/ }, }

    只有“"time":"15:03:06",/时间/”和“"nowPri":"8.37"/当前价格/”,那如果我想得到下一秒的价格,岂不是还要再发一次请求?

    即便 api 免费调用,这也太麻烦了吧? 有没有什么其他的办法? 多谢各位。。。

    7 条回复    2016-10-22 16:56:57 +08:00
    ss098
        1
    ss098  
       2016-10-22 15:54:50 +08:00
    很难有好的解决办法。

    通常 API 接口都是你去主动抓取,很少有提供通知的。
    bombless
        2
    bombless  
       2016-10-22 16:03:48 +08:00 via Android
    你自己搞服务端聚合数据呗
    callmexiaoliu
        3
    callmexiaoliu  
    OP
       2016-10-22 16:06:01 +08:00
    @ss098 如果只用这些 api 的话,那就是每一秒都去提请数据了?
    对手机 app 来说是很费电费流量的吧?
    callmexiaoliu
        4
    callmexiaoliu  
    OP
       2016-10-22 16:07:02 +08:00
    @bombless 搞一个服务端来取这些数据,再推个 app ?
        5
    bombless  
       2016-10-22 16:10:37 +08:00 via Android
    bombless
    des
        6
    des  
       2016-10-22 16:18:04 +08:00 via Android
    秒级操作就非得 app 每秒去抓一次,服务器每秒抓一次, app 一次拉一分钟也算是时实了吧?
    callmexiaoliu
        7
    callmexiaoliu  
    OP
       2016-10-22 16:56:57 +08:00
    @des 如果一秒抓取一次的话会不会出现这种情况? 12:00:00 的时候去抓取一次, 12:00:01 的时候也去抓取一次,然而 12:00:00 的返回数据比 01 的那次慢。是不是我想的复杂了?
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     967 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 23ms UTC 22:46 PVG 06:46 LAX 15:46 JFK 18:46
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86