node.jsでTCP通信をする方法を調べていると
- cilent側で文字を入力して
- それをserver側で折り返して
- それをclient側でコンソールに表示
というサンプルが山ほど見つかるのですが、
- server側で文字を入力して
- それをclient側で折り返して
- それをserver側でコンソールに表示
という例が見つからなかったので、書いてみました。
server.js
var net = require('net');
var server = net.createServer(conn => {
console.log('connected.');
conn.on('data', data => {
console.log('server-> ' + data);
});
conn.on('close', () => {
console.log('closed');
});
process.stdin.resume()
process.stdin.on('data', data => {
conn.write(data)
});
}).listen(3000);
console.log('listening on port 3000');
client.js
var net = require('net');
var client = new net.Socket();
client.setEncoding('utf8');
client.connect('3000', 'localhost', () => {
console.log('connected');
});
client.on('data', data => {
console.log('client-> ' + data);
client.write(data);
});
client.on('close', () => {
console.log('closed');
});
以上です
参考
https://nodejs.org/api/net.html#net_net_createserver_options_connectionlistener