我正在开发一个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);
});
}
答案 0 :(得分:0)
尝试使用json序列化数据