本文整理汇总了Python中mqttcli.MqttClient.get_last_mid方法的典型用法代码示例。如果您正苦于以下问题:Python MqttClient.get_last_mid方法的具体用法?Python MqttClient.get_last_mid怎么用?Python MqttClient.get_last_mid使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类mqttcli.MqttClient
的用法示例。
在下文中一共展示了MqttClient.get_last_mid方法的10个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: _pubsub
# 需要导入模块: from mqttcli import MqttClient [as 别名]
# 或者: from mqttcli.MqttClient import get_last_mid [as 别名]
def _pubsub(self, pubtopic, subtopic, match):
msg = gen_msg()
sub = MqttClient("sub:{seq}", connect=4)
suback_evt = sub.subscribe(subtopic, 0)
if not isinstance(suback_evt, EventSuback) or \
suback_evt.mid != sub.get_last_mid() or \
suback_evt.granted_qos[0] != 0:
if match: debug("failed to subscribe: {0}".format(suback_evt))
return False
pub = MqttClient("pub:{seq}", connect=4)
pub.publish(pubtopic, msg)
pub.disconnect()
e = sub.recv()
unsuback_evt = sub.unsubscribe(subtopic)
if not isinstance(unsuback_evt, EventUnsuback) or \
unsuback_evt.mid != sub.get_last_mid():
if match: debug("failed to unsubscribe: {0}".format(unsuback_evt))
return False
sub.disconnect()
#print e, e.msg.topic, e.msg.payload
if not isinstance(e, EventPublish) or \
e.msg.topic != pubtopic or \
e.msg.payload != msg:
if match: debug("invalid received msg: {0}".format(e))
return False
return True
示例2: test_010
# 需要导入模块: from mqttcli import MqttClient [as 别名]
# 或者: from mqttcli.MqttClient import get_last_mid [as 别名]
def test_010(self):
c = MqttClient("reg:{seq}", connect=4)
evt = c.subscribe("/foo/bar", qos=0)
# validating [MQTT-2.3.1-7]
if not isinstance(evt, EventSuback) or evt.mid != c.get_last_mid():
return False
evt = c.unsubscribe("/foo/bar")
# validating [MQTT-2.3.1-7]
if not isinstance(evt, EventUnsuback) or evt.mid != c.get_last_mid():
return False
c.disconnect()
return True
示例3: test_003
# 需要导入模块: from mqttcli import MqttClient [as 别名]
# 或者: from mqttcli.MqttClient import get_last_mid [as 别名]
def test_003(self):
sub = MqttClient("sub:{seq}", connect=4)
sub.subscribe('a/b', qos=1)
pub = MqttClient("pub:{seq}", connect=4)
msg = gen_msg()
pub.publish('a/b', payload=msg, qos=1)
pub.recv()
e = sub.recv()
if not isinstance(e, EventPublish) or \
e.msg.payload != msg or \
e.msg.qos != 1:
debug('failing event: {0}'.format(e))
return False
# send PUBACK
sub.puback(e.msg.mid)
puback_evt = pub.recv()
# PUBACK mid == PUBLISH mid
# validating [MQTT-2.3.1-6]
if not isinstance(puback_evt, EventPuback) or \
puback_evt.mid != pub.get_last_mid():
debug('failing event: {0}'.format(puback_evt))
return False
sub.unsubscribe('a/b')
sub.disconnect(); pub.disconnect()
return True
示例4: test_013
# 需要导入模块: from mqttcli import MqttClient [as 别名]
# 或者: from mqttcli.MqttClient import get_last_mid [as 别名]
def test_013(self):
pub = MqttClient("conformity:{seq}", connect=4)
sub = MqttClient("sub:{seq}", connect=4)
sub.subscribe("/test/022/013/+", qos=2)
pub.publish("/test/022/013/t1", 'hurry', retain=True, qos=1)
msg = sub.recv()
if not isinstance(msg, EventPublish) or \
msg.msg.topic != '/test/022/013/t1' or \
msg.msg.payload != 'hurry' or\
msg.msg.qos != 1 or\
msg.msg.retain:
debug(msg)
return False
# same with empty payload
pub.publish("/test/022/013/t2", 'up', retain=True, qos=2)
pub.pubrel(pub.get_last_mid())
msg = sub.recv()
if not isinstance(msg, EventPublish) or \
msg.msg.topic != '/test/022/013/t2' or \
msg.msg.payload != "up" or\
msg.msg.qos != 2 or\
msg.msg.retain:
debug(msg)
return False
return True
示例5: test_232
# 需要导入模块: from mqttcli import MqttClient [as 别名]
# 或者: from mqttcli.MqttClient import get_last_mid [as 别名]
def test_232(self):
pub = MqttClient("conformity-pub:{seq}", connect=4)
sub = MqttClient("conformity-sub:{seq}", connect=4)
sub.subscribe("foo/bar", qos=2)
pub.publish("foo/bar", "grrr", qos=2) # receive PUBREC as response
pub.pubrel(pub.get_last_mid(), read_response=False) # triggers message delivery
evt = sub.recv()
if not isinstance(evt, EventPublish) or evt.msg.payload != "grrr":
debug(evt)
return False
ack = sub.unsubscribe("foo/bar")
if not isinstance(ack, EventUnsuback):
debug(ack)
return False
rel = sub.pubrec(evt.msg.mid)
if not isinstance(rel, EventPubrel):
debug(rel)
return False
sub.pubcomp(evt.msg.mid)
comp = pub.recv()
if not isinstance(comp, EventPubcomp):
debug(comp)
return False
pub.disconnect(); sub.disconnect()
return True
示例6: test_203
# 需要导入模块: from mqttcli import MqttClient [as 别名]
# 或者: from mqttcli.MqttClient import get_last_mid [as 别名]
def test_203(self):
pub = MqttClient("conformity-pub:{seq}", connect=4)
sub = MqttClient("conformity-sub:{seq}", connect=4)
sub.subscribe("foo/bar", qos=2)
pub.publish("foo/bar", "wootwoot", qos=2, read_response=False)
# PUB PUBREC
evt = pub.recv()
pub.pubrel(pub.get_last_mid(), read_response=False)
# subscr: receiving PUBLISH
evt = sub.recv()
sub.pubrec(evt.msg.mid, read_response=False)
# subscr: receiving PUBREL
evt = sub.recv()
# sending PUBCOMP with wrong pktid
sub.forge(NC.CMD_PUBCOMP, 0, [
('uint16', (evt.mid+10)%65535) # wrong pktid
], send=True)
evt = pub.recv()
# publisher: PUBCOMP never received
if evt is not None:
debug(evt)
return False
pub.disconnect(); sub.disconnect()
return True
示例7: test_001
# 需要导入模块: from mqttcli import MqttClient [as 别名]
# 或者: from mqttcli.MqttClient import get_last_mid [as 别名]
def test_001(self):
sub = MqttClient("sub:{seq}", connect=4)
suback_evt = sub.subscribe('foo/bar', qos=1)
if not isinstance(suback_evt, EventSuback) or \
suback_evt.mid != sub.get_last_mid() or \
suback_evt.granted_qos[0] != 1:
debug('failing event: {0}'.format(suback_evt))
return False
return True
示例8: test_222
# 需要导入模块: from mqttcli import MqttClient [as 别名]
# 或者: from mqttcli.MqttClient import get_last_mid [as 别名]
def test_222(self):
sub = MqttClient("conformity-sub:{seq}", connect=4)
ack = sub.unsubscribe_multi(["foo/bar", "bar/baz", "paper/+/scissor"])
if not isinstance(ack, EventUnsuback) or ack.mid != sub.get_last_mid():
debug(ack)
return False
sub.disconnect()
return True
示例9: test_240
# 需要导入模块: from mqttcli import MqttClient [as 别名]
# 或者: from mqttcli.MqttClient import get_last_mid [as 别名]
def test_240(self):
pub = MqttClient("conformity-pub:{seq}", connect=4)
pub.publish("foo/bar", "", qos=2, read_response=False); mid1 = pub.get_last_mid()
pub.publish("bar/baz", "", qos=2, read_response=False); mid2 = pub.get_last_mid()
evt = pub.recv()
if not isinstance(evt, EventPubrec) or evt.mid != mid1:
debug(evt)
return False
evt = pub.recv()
if not isinstance(evt, EventPubrec) or evt.mid != mid2:
debug(evt)
return False
pub.disconnect()
return True
示例10: test_216
# 需要导入模块: from mqttcli import MqttClient [as 别名]
# 或者: from mqttcli.MqttClient import get_last_mid [as 别名]
def test_216(self):
pub = MqttClient("conformity-pub:{seq}", connect=4)
sub = MqttClient("conformity-sub:{seq}", connect=4)
ack = sub.subscribe_multi([
("foo/bar", 2),
("bar/baz", 0),
("paper/+/scissor", 1)
])
if not isinstance(ack, EventSuback) or ack.mid != sub.get_last_mid():
debug(ack)
return False
# checking granted qos
if len(ack.granted_qos) != 3 or \
ack.granted_qos[0] != 2 or \
ack.granted_qos[1] != 0 or \
ack.granted_qos[2] != 1:
debug(ack)
return False
return True