0

我正在开发一个 Android 应用程序,它将向运行在 Raspberry Pi 上的外部 NodeJs 服务器发送一个字符串数组。

我目前正在使用 AsyncTask 处理应用程序的发送端,其中设置了针对 NodeJs 服务器的套接字层。服务器正在使用 net 和 socket 模块成功地接收来自应用程序的调用,但是我正在努力传递实际数据。

目前我正在使用 OutputStream 发送数据。

OutputStream socketStream = socket.getOutputStream();
ObjectOutputStream objectOutput = new ObjectOutputStream(socketStream);
objectOutput.writeObject(new String[] {"Test", "Test2", "Test3"});


Log.i("Array Object", objectOutput.toString());

objectOutput.close();
socketStream.close();

这是编写要发送到 NodeJs 服务器的字符串数组的正确方法吗?

此外,NodeJs 服务器上的代码将包含什么以便在接收到这些写入数据后读取它?

更新

NodeJs 服务器基于本教程http://helloraspberrypi.blogspot.co.uk/2014/03/create-tcp-server-using-nodejs-with-net.html

其中函数 callback_server_connection 在 net.createServer(callback_server_connection) 中被调用;功能。

function callback_server_connection(socket){
    var remoteAddress = socket.remoteAddress;
    var remotePort = socket.remotePort;
    socket.setNoDelay(true);
    console.log("connected: ", remoteAddress, " : ", remotePort);

    var msg = 'Hello ' + remoteAddress + ' : ' +  remotePort + '\r\n'
        + "You are #" + count + '\r\n';
    count++;

    socket.end(msg);

    socket.on('data', function (data) {
        console.log(data.toString());
    });

    socket.on('end', function () {
        console.log("ended: ", remoteAddress, " : ", remotePort);
    });
  }
4

1 回答 1

0

尝试用 json 序列化你的数据

于 2015-02-20T15:48:42.437 回答