S03000
错误代码
S03000
报错信息
To undefine the shared stream table 'xxx', first cancel all subscriptions to it. RefId: S03000
错误原因
用户尝试用 undef
函数取消一个流表变量的定义。
流表创建出来之后,可以通过 subscribeTable
函数被订阅。订阅有三种方式:
-
被本节点订阅
-
被其他节点订阅
-
被 API 程序订阅
以上三种情况均会导致流表无法被取消定义,也无法被销毁。
只有所有的订阅都被取消之后,流表才可以被 undef。
解决办法
调用 getStreamingStat
函数检查该当前被订阅的流表:
getStreamingStat().pubTables
可以看到当前流表有哪些订阅者。
同时:
getStreamingStat().pubConns
可以查看当前有哪些发布连接。
确认了有哪些订阅者之后可以依次调用 unsubscribeTable
函数取消订阅。所有订阅都取消之后流表就可以被 undef
了。