1

クライアント(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); 

共有するだけです。

4

1 に答える 1

0

これは、次のように変更するだけで機能します

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

共有するだけです。

于 2013-03-14T04:27:49.143 に答える