mqtt_udp
Packages
UDP上的MQTT的Simpified版本:網絡是經紀人!
注意其他回購:https://gitverse.ru/dzavalishin/mqtt_udp
參見俄語版本 /存在
MQTT是一種可愛的簡單協議,非常適合物聯網和類似內容。
但這可能更簡單,並且仍然非常有用:MQTT/UDP只是在UDP上廣播的MQTT發布數據包。
隨意:
這真的很容易。
該存儲庫包含支持MQTT/UDP集成和測試的工具:
發送數據:
import mqttudp . engine
if __name__ == "__main__" :
mqttudp . engine . send_publish ( "test_topic" , "Hello, world!" )聽數據:
import mqttudp . engine
def recv_packet ( ptype , topic , value , pflags , addr ):
if ptype != "publish" :
print ( ptype + ", " + topic + " t t " + str ( addr ) )
return
print ( topic + "=" + value + " t t " + str ( addr ) )
if __name__ == "__main__" :
mqttudp . engine . listen ( recv_packet )下載PYPI軟件包
發送數據:
PublishPacket pkt = new PublishPacket ( topic , value );
pkt . send ();聽數據:
PacketSourceServer ss = new PacketSourceServer ();
ss . setSink ( pkt -> { System . out . println ( "Got packet: " + pkt ); });下載jar
發送數據:
int rc = mqtt_udp_send_publish ( topic , value );聽數據:
int main ( int argc , char * argv [])
{
...
int rc = mqtt_udp_recv_loop ( mqtt_udp_dump_any_pkt );
...
}
int mqtt_udp_dump_any_pkt ( struct mqtt_udp_pkt * o )
{
printf ( "pkt %x flags %x, id %d" ,
o -> ptype , o -> pflags , o -> pkt_id
);
if ( o -> topic_len > 0 )
printf ( " topic '%s'" , o -> topic );
if ( o -> value_len > 0 )
printf ( " = '%s'" , o -> value );
printf ( "n" );
}
發送數據:
local mq = require " mqtt_udp_lib "
mq . publish ( topic , val );
聽數據:
local mq = require " mqtt_udp_lib "
local listener = function ( ptype , topic , value , ip , port )
print ( " ' " .. topic .. " ' = ' " .. val .. " ' " .. " from: " , ip , port )
end
mq . listen ( listener )下載Luarock
有一個GO語言實現,請參閱Lang/GO以獲取詳細信息