您的位置:首页 > 理论基础 > 计算机网络

通过TCP请求,获取所有合约

2014-05-30 16:53 267 查看
h2. 需求

* 获得每个行情集群的合约列表(未交割合约)

h2. 方案

* market_hub/instrument_handler 增加列表所有未交割合约列表接口

* market_auth/http_instrument.erl TCP连接到对应行情分发服务器

* market_dispatcher/subscribe_handler 直接调用market_hub/instrument_handler接口

* http_instrument.erl 将结果返回到页面

h2. 实现

* market_hub/instrument_handler 增加接口

* 接口: instruments(undelivered)

通过query_util查询instrument表中status不为delivered的合约,并返回

<pre>

query_util:find_all(instrument,[{status, '=/=', <<"delivered">>}]).

</pre>

* market_dispatcher/subscribe_handler.erl

* 通过gen_util:rpc_call直接调用

market_hub/instrument_handler:instruments(undelivered)

<pre>

Reply = gen_util:rpc_call(MarketHub, instrument_handler, instruments, [undelivered]);

</pre>

* MarketHub从配置文件获得

在market_dispatcher.app.src中增加配置项

<pre>

{market_hub, 'market_hub@market_hub.lk.com'}

</pre>

* market_auth/http_instrument.erl

* 返回给页面的结果:将合约列表转换成json格式返回给页面

<pre>

jsx:term_to_json(Reply)

</pre>

* 响应(成功) {"data": [ {"id": 123, "code": "au1402", ....}, ..., {...} ] }

* 响应(失败): {"error": "Msg"}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: