将字符串数组从java客户端发送到NodeJs服务器

时间:2015-02-20 14:24:00

标签: java android arrays node.js socketstream

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

我目前正在使用AsyncTask处理应用程序的发送方,并在针对NodeJs服务器的内部设置套接字层。服务器使用网络和套接字模块成功接收来自应用程序的呼叫,但是我很难传递实际数据。

目前我正在使用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

在net.createServer中调用函数callback_server_connection(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);
    });
  }

1 个答案:

答案 0 :(得分:0)

尝试使用json序列化数据