クライアント(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を使用しましたが、任意のオブジェクトを転送できることが理想的です。
おそらく、Java / TCPを介して送信するには、JSONフレームワーク(非バイナリオブジェクト用)を使用する必要がありますが、確かではありません。
PS。これは、次のように変更するだけで機能します
var data1 = data.toString('utf-8');
console.log(data1);
共有するだけです。