最简单的流数据订阅实现问题

最近在学习dolphindb

我在测试最简单的流数据订阅的实现:

我先在GUI运行


share streamTable(1:0,`id`price`qty,[INT,DOUBLE,INT]) as trades

trades.append!(table(1..10 as id,rand(10.0,10) as price,rand(10,10) as qty))


即生成streamTable一个随机表格,在GUI中查看到了数据,确实生成了,然后在python中运行


import dolphindb as ddb

s = ddb.session()
s.enableStreaming(8849)


def handler(lst):
print(lst)

# 订阅DolphinDB(本机8848端口)上的OHLC流数据表
s.subscribe("localhost", 8848, handler, "trades", "sub_trades", 0)


但是出现

getLocalHostName #attempt=1 come across an error: Client: connect() failed!, Will retry in 1 second.


若将上述python代码最后一行的第一个参数由localhost改为127.0.0.1,就不会出现标题中的错误,但是,依然什么都没有打印出来就结束了。


问题1:为什么localhost改为127.0.0.1就不会报getLocalHostName的错误呢?

问题2:为什么什么都没打印出来?

感谢回答!



使用getStreamingStat方法,查看订阅情况,发现cumMsgCount(已经接收到的消息数量)是有数据的,说明确实接受到了数据,但是为什么python运行却什么都没打印呢?


attachments-2022-01-jwgvv6jD61efc0d53be9a.png

请先 登录 后评论

1 个回答

alex

你好 关于问题2, 方便贴一下 dolphindb.cfg 吗? 另外能运行一下 netstat -nlp |grep dolphin 确认一下 dolphindb 是否运行在 8848 端口

附:

如果还有问题,可以添加我的企业微信

attachments-2022-01-Iqp7Dd5S61f21d7634fb8.jpg

请先 登录 后评论
  • 1 关注
  • 0 收藏,1070 浏览
  • 罗怀远 提出于 2022-01-25 16:16

相似问题