客户端(Java)
Socket tcpClient = new Socket("localhost", 6000);
String msg ="test";
DataOutputStream os = new DataOutputStream(tcpClient.getOutputStream());
PrintWriter pw = new PrintWriter(os);
pw.println(msg);
pw.flush();
服务器(node.js JavaScript)
var net = require('net');
var server = net.createServer(function (c)
{ //'connection' listener
log('Java client connected to this nodeServer');
c.on('data', function (data)
{
console.log(data);
});
c.on('end', function ()
{
console.log('nodeServer disconnected');
});
});
server.listen(6000, function ()
{ //'listening' listener
console.log('nodeServer listening port:6000');
});
结果
nodeServer listening port:6000
Java client connected to this nodeServer
<Buffer 74 65 73 74 0a>
连接成功,但很明显,我需要结果中有'test'字符串。
对于数据,到目前为止我使用 String 来简化我的问题,但是,能够传输任何对象是理想的。
也许,我需要使用 JSON 框架(用于非二进制对象)通过 Java/TCP 发送,但不确定。
附言。 这只需修改为
var data1 = data.toString('utf-8');
console.log(data1);
只是为了分享。
最佳答案
这只需修改为
var data1 = data.toString('utf-8');
console.log(data1);
只是为了分享。
关于Java -> TCP -> node.js(字符串数据传输),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15401215/