简体   繁体   English

Java-> TCP-> node.js(字符串数据传输)

[英]Java -> TCP -> node.js (String data transfer)

Client (Java) 客户端(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();

Server (node.js JavaScript) 服务器(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');
});

Result 结果

nodeServer listening port:6000

Java client connected to this nodeServer

<Buffer 74 65 73 74 0a>

The connection succeeded, but obviously, I need 'test' string in Result. 连接成功,但是很明显,我需要在Result中使用“测试”字符串。

For the data, I use String so far to simplify my problem, however, it's ideal to be able to transfer any Objects. 对于数据,到目前为止,我使用String来简化我的问题,但是,理想的是能够传输任何对象。

Perhaps, I need to use JSON framework (for non-binary object) to send over Java/TCP, but not sure. 也许,我需要使用JSON框架(用于非二进制对象)通过Java / TCP发送,但不确定。


PS. PS。 this works by simply modifying to 通过简单地修改为

 var data1 = data.toString('utf-8');
 console.log(data1); 

Just to share. 只是分享。

this works by simply modifying to 通过简单地修改为

 var data1 = data.toString('utf-8');
 console.log(data1); 

Just to share. 只是分享。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM