java到node.js的代码转换
我正在使用以下java代码来展开数据。但我不知道如何为Node.js编写相同的代码?Java代码如下所示:java到node.js的代码转换,java,node.js,Java,Node.js,我正在使用以下java代码来展开数据。但我不知道如何为Node.js编写相同的代码?Java代码如下所示: public void receiveEvent(String forTopic, MqttMessage event) throws MqttException { Object obj = null; java.io.ByteArrayInputStream bstream = new java.io.ByteArrayInputStream(
public void receiveEvent(String forTopic, MqttMessage event)
throws MqttException {
Object obj = null;
java.io.ByteArrayInputStream bstream = new java.io.ByteArrayInputStream(
event.getPayload());
try {
java.io.ObjectInputStream st = new java.io.ObjectInputStream(
bstream);
obj = st.readObject();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (ClassNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
DataWrapper dt = (DataWrapper) obj;
s.notifyReceived(forTopic, dt.getObject(), dt.getDevice());
public class DataWrapper implements Serializable {
private static final long serialVersionUID = 1L;
Device device;
Object object;
public void setDevice(Device deviceInfo) {
this.device = deviceInfo;
}
public void setObject(Object object) {
this.object = object;
}
public Device getDevice() {
return device;
}
public Object getObject() {
return object;
}
数据包装器的代码如下所示:
public void receiveEvent(String forTopic, MqttMessage event)
throws MqttException {
Object obj = null;
java.io.ByteArrayInputStream bstream = new java.io.ByteArrayInputStream(
event.getPayload());
try {
java.io.ObjectInputStream st = new java.io.ObjectInputStream(
bstream);
obj = st.readObject();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (ClassNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
DataWrapper dt = (DataWrapper) obj;
s.notifyReceived(forTopic, dt.getObject(), dt.getDevice());
public class DataWrapper implements Serializable {
private static final long serialVersionUID = 1L;
Device device;
Object object;
public void setDevice(Device deviceInfo) {
this.device = deviceInfo;
}
public void setObject(Object object) {
this.object = object;
}
public Device getDevice() {
return device;
}
public Object getObject() {
return object;
}
}您可能需要查看MQTT.js。可在NPM的以下位置获取: 作为一个完整的例子,我们需要更多地了解您的设置和您正在尝试做的事情。。。但这里是从MQTT,js复制过来的示例
var mqtt = require('mqtt');
var client = mqtt.connect('mqtt://test.mosquitto.org');
client.on('connect', function () {
client.subscribe('presence');
client.publish('presence', 'Hello mqtt');
});
client.on('message', function (topic, message) {
// message is Buffer
console.log(message.toString());
client.end();
});
这可能非常接近您想要开始的内容。@Julian-我知道,但我是node.js新手,这就是为什么要问这样的问题。我已经用java代码做了。我们需要比示例代码多一点的东西来真正帮助您。。你的代码所做的唯一一件事就是在对一个神秘的对象调用“notifyReceived”之前,通过3种不同的流转换你收到的事件的有效负载。@Julian-你能参考我下面的帖子吗?