0

linemode を telnet テストに設定する方法を教えてもらえますか? 私はたくさんグーグルで検索しましたが、残念ながらうまくいきませんでした。私はこの超簡単なコードを持っています

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
4

1 に答える 1

0

以下のようにtelnet入力を取得したい

Answer: a
Answer: b
Answer: c

\r is carriage return次に、両方を で送信する必要がありますline 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
    });
});
于 2013-03-30T09:18:41.217 に答える