2013-03-14 55 views
2

客户端(JAVA)爪哇 - > TCP - > Node.js的(字符串数据传输)

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> 

连接成功了,但显然,我需要Result中的'test'字符串。

对于数据,我使用String来简化我的问题,但是,它是理想的能够传输任何对象。也许,我需要使用JSON框架(用于非二进制对象)通过Java/TCP发送,但不能确定。


PS。 这个工程通过简单修改为

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

只是为了分享。

回答

1

这部作品通过简单地修改以

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

只是为了分享。