Java TCP クライアントと node.js TCP サーバーを連携させようとしています。これは現時点での私のコードです:
Java クライアント
java.net をインポートします。; java.io をインポートします。;
パブリッククラスClient2{
public static void main(String[] args) throws Exception{ Socket s = new Socket("192.168.1.35",8500); DataOutputStream dos = new DataOutputStream(s.getOutputStream()); dos.writeUTF("abcdefgh"); dos.close(); s.close(); }
}
Node.js サーバー
var net = require('net'), server = net.createServer();
server.on('接続', 関数 (クライアント) {
console.log('Hello World !'); client.on('data', function(data) { var message = data.toString('utf8'); console.log('***' + message +'***'); });
});
サーバー。リッスン (8500);
この例では、次の結果が返されます。
Hello World !
**abcdefgh***
しかし、これを入力として:
abcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyz
それはこれを返します:
Hello World !
***�abcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyz***
この入力で:
qq32we3w87d 38s1d87s4df7s4d1+s2d7f+sfdsf4sà$àà3663%ç%&ç%&ç
それはこれを返します:
Hello World !
***@qq32we3w87d 38s1d87s4df7s4d1+s2d7f+sfdsf4sà$àà3663%ç%&ç%&ç***
tldr: バッファをログに記録するときに、ノードが先頭に文字 (数字または ? を含む四角形) を追加するか、イベントが先頭でいくつかの文字をカットすることがあります。
- バッファをログに記録し、正しい方法で変数に割り当てるにはどうすればよいですか?