我试图让一个Java客户机订阅我用Python OPCUA制作的OPCUA服务器上的几个标记。我可以很好地连接到服务器,甚至浏览树和读取值都不是问题,我只是无法让订阅像使用KepserverEX一样工作。在
客户机可以订阅Kepserver上的标记,所以我认为客户机逻辑不是问题所在。这和我给服务器编程的方式有关。在
这是我用于服务器的代码:class SubHandler(object):
"""
Subscription Handler. To receive events from server for a subscription
"""
def datachange_notification(self, node, val, data):
print("Python: New data change event", node, val)
def event_notification(self, event):
print("Python: New event", event)
if __name__ == "__main__":
logging.basicConfig(level=logging.WARN)
logger = logging.getLogger("opcua.address_space")
logger.setLevel(logging.DEBUG)
# setup our server
server = Server()
server.set_endpoint("opc.tcp://0.0.0.0:4840/freeopcua/server/")
se