2013-03-02 109 views
0

有人能告诉我如何将linemode设置为telnet测试吗?我搜索了很多,但不幸的是我没有成功。 我有这样的超级简单的代码使用telnet的Node.js测试服务器 - 设置Linemode

var net = require('net'); 

var server = net.createServer(function(c) { 
    console.log('socket opened'); 
    c.setEncoding('utf8'); 
    c.on('end', function() { 
    console.log('connection/socket closed'); 
    }); 
    c.on('data', function(data) { 
    console.log('Data:'+data); 
    c.write('Answer:'+data); 
    // c.end(); // close socket/conection 
    }); 
}); 

server.listen(8124, function() { // start server (port 8124) 
    console.log('server started'); 
}); 

但是测试看起来是这样的:

客户端:

Microsoft Telnet> open localhost 8124 
Answer:dAnswer:daAnswer:atAnswer:taAnswer:a 

服务器:

C:\Users\Laura\node server.js 
server started 
socket opened 
Data:d 
Data:a 
Data:t 
Data:a 

回答

0

要G等类似如下

Answer: a 
Answer: b 
Answer: c 

远程登录输入,那么你需要两个\r is carriage returnline feed (\n)发送。所以你的代码应该像波纹管一样

var server = net.createServer(function(c) { 
    console.log('socket opened'); 
    c.setEncoding('utf8'); 
    c.on('end', function() { 
     console.log('connection/socket closed'); 
    }); 
    c.on('data', function(data) { 
     console.log('Data:'+data); 
     c.write('\r\nAnswer:'); 
     // c.end(); // close socket/conection 
    }); 
});