Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/376.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
java到node.js的代码转换_Java_Node.js - Fatal编程技术网

java到node.js的代码转换

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(

我正在使用以下java代码来展开数据。但我不知道如何为Node.js编写相同的代码?Java代码如下所示:

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-你能参考我下面的帖子吗?