{"_id":"MQTTClient","_rev":"5-c7ae48f140f3b848c96a23cde31311ad","name":"MQTTClient","description":"An MQTT client for Node.js.","dist-tags":{"latest":"0.0.1"},"versions":{"0.0.1":{"name":"MQTTClient","main":"./client.js","version":"0.0.1","description":"An MQTT client for Node.js.","author":{"name":"leizongmin","email":"leizongmin@gmail.com","url":"http://ucdok.com"},"repository":{"type":"git","url":"git://github.com/leizongmin/MQTTClient.git"},"engines":{"node":">= 0.4.1"},"_npmUser":{"name":"leizongmin","email":"leizongmin@gmail.com"},"_id":"MQTTClient@0.0.1","dependencies":{},"devDependencies":{},"_engineSupported":true,"_npmVersion":"1.0.105","_nodeVersion":"v0.6.0","_defaultsLoaded":true,"dist":{"shasum":"4f68adbd8035783dff182836445a5e6f5b6a96eb","tarball":"https://registry.npmjs.org/MQTTClient/-/MQTTClient-0.0.1.tgz","integrity":"sha512-9lprlX9r7lkgh0i3ohg6mky8UzKJG+TvndNAfUB4l/RK+3GhXssO/3C+UxT5Ke0fpXB6IR8JTT8B9dqrGSVaRA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIESvry3rq5K3GcT/2+VEqN5rD4k0PrFpQCAY3/RRYxIKAiAI0NdlAD9WeOXyJs3+Q9S28PVqdRnlrRdurPvtL8EdLA=="}]},"maintainers":[{"name":"leizongmin","email":"leizongmin@gmail.com"}]}},"readme":"# MQTTClient for Node.js\n\n\nTo start before, you need to know something about MQTT, please see\n[MQTT V3.1 Protocol Specification](http://public.dhe.ibm.com/software/dw/webservices/ws-mqtt/mqtt-v3r1.html)\n\n在使用本模块之前，你需要了解一些MQTT协议的知识，可参阅：[MQTT V3.1 协议规范](http://public.dhe.ibm.com/software/dw/webservices/ws-mqtt/mqtt-v3r1.html)\n\n\nInstall 安装\n=================\n\n**npm install MQTTClient**\n\n\nExamples 示例\n=================\n\n```javascript\n\n\tvar MQTTClient = require('MQTTClient').Client;\n\t\n\t// if you don't assigned a client_id, will automatically assigns one\n\t// 如果没有指定client_id，则程序会自动分配一个\n\tvar options = {\n\t\tclient_id:\t'you_client_id'\n\t}\n\tvar client = new MQTTClient('localhost', 1883, options);\n\t\n\tclient.connect(function () {\n\t\t// do something if connect success\n\t\t// 在此处写连接成功后执行的代码\n\t});\n```\n\n\t\nSubscribe & Un Subscribe 订阅和退订\n=================\n\n```javascript\n\n\t// subscribe to a topic\n\t// 订阅一个主题\n\tvar options = {\n\t\tdup_flag:\t0,\n\t\tqos_level:\t0\n\t}\n\tclient.subscribe('topic_name', options, function (topic, qos_level) {\n\t\t// do something if success\n\t\t// 在此处写订阅成功后执行的代码\n\t});\n\t// Simplified:\tclient.subscribe('topic_name');\n\t// 也可以这样：\tclient.subscribe('主题');\n\t\n\t// un subscribe a topic\n\t// 退订一个主题\n\tclient.unSubscribe('topic_name', options, function (topic) {\n\t\t// do something if success\n\t\t// 在此处写退订成功后执行的代码\n\t});\n\t// Simplified:\tclient.unSubscribe('topic_name');\n\t// 也可以这样：\tclient.unSubscribe('主题');\n```\n\t\n\nPublish 发布\n=================\n\n```javascript\n\n\t// publish message to a topic\n\t// 发布一个消息到指定主题\n\tvar options = {\n\t\tdup_flag:\t0,\n\t\tqos_level:\t0,\n\t\tretain:\t\tfalse\n\t}\n\tclient.publish('topic_name', 'payload', options, function (message_id) {\n\t\t// do something if success\n\t\t// 在此处写发布成功后执行的代码\n\t});\n\t// Simplified:\tclient.publish('topic_name', 'payload');\n\t// 也可以这样：\tclient.publish('主题', '内容');\n```\t\n\t\n\t\nOther 其他\n=================\n\n```javascript\n\n\t// send a PINGREQ to keep alive, will automatically be called\n\t// 发送一个PINGREQ消息给服务器，一般情况下会自动执行\n\tclient.ping(function () {\n\t\t// do something if success\n\t\t// 在此处写服务器返回PINGRESP消息后执行的代码\n\t});\n\t\n\t// disconnect\n\t// 断开连接\n\tclient.disconnect(function () {\n\t\t// do something if success\n\t\t// 在此处写服务器断开连接后执行的代码\n\t});\n```\n\t\n\t\nEvent\n=================\n\n### connect\n\n> Connect to server success, after received a CONNACK message from the server\n\n> 当连接服务器成功，并收到CONNACK消息后，触发此事件\n\n> **Arguments**: None\n\n\n### error\n\n> Has an error\n\n> 当发生错误时触发此事件\n\n> **Arguments**: error\n\n\n### disconnect\n\n> The server close the socket connection\n\n> 当服务器断开连接时触发此事件\n\n> **Arguments**: None\n\n\n### ping\n\n> After received a PINGRESP message from the server\n\n> 当收到服务器返回的PINGRESP消息时触发此事件\n\n> **Arguments**: None\n\n\n### timeout\n\n> Not received the PINGRESP message out of **options.alive_timer** seconds\n\n> 当超过指定时间（有options.alive_timer设置）没有收到服务器返回的PINGRESP消息时触发此事件\n\n> **Arguments**: None\n\n\n### publish\n\n> Received a PUBLISH message\n\n> 当收到PUBLISH消息时触发此事件\n\n> **Arguments**:  topic, payload, message_id\n\n> 参数topic为消息的主题，payload为消息内容, message_id为消息ID\n","maintainers":[{"name":"leizongmin","email":"leizongmin@gmail.com"}],"time":{"modified":"2022-06-13T02:14:53.562Z","created":"2011-11-22T10:03:56.395Z","0.0.1":"2011-11-22T10:04:18.212Z"},"author":{"name":"leizongmin","email":"leizongmin@gmail.com","url":"http://ucdok.com"},"repository":{"type":"git","url":"git://github.com/leizongmin/MQTTClient.git"}}