我正在嘗試使Java TCP客戶端和node.js TCP服務器一起通話。 這是我的代碼的時刻:節點緩衝區打印問題
Java客戶端
進口java.net。 ; import java.io.;
公共類客戶機2 {
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.createServer();
服務器進行。( '連接',函數(客戶端){
console.log('Hello World !'); client.on('data', function(data) { var message = data.toString('utf8'); console.log('***' + message +'***'); });
});
server.listen(8500);
這個例子會給這個結果回到:
Hello World !
**abcdefgh***
,但與此輸入:
abcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyz
它給這個回:
Hello World !
***�abcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyz***
與該輸入:
qq32we3w87d 38s1d87s4df7s4d1 + s2d7f +sfdsf4sà$àà3663%C%& C%&ç
它給此回:
Hello World !
***@qq32we3w87d 38s1d87s4df7s4d1+s2d7f+sfdsf4sà$àà3663%ç%&ç%&ç***
tldr:有時在記錄緩衝區時,節點會在開始時添加字符(帶有數字或?的矩形)或事件在開始時剪切某些字符。
- 如何記錄緩衝區並將它們分配給變量是正確的?
他的格式化到底發生了什麼?我去試圖編輯他的問題來修復它,但它看起來是正確的。 – 2012-07-11 01:25:23
是的,我很抱歉,但我無法讓代碼熒光筆在整個代碼示例中正常工作。 – 2012-07-11 01:29:13