Node.js實(shí)現(xiàn)tcp服務(wù)端

服務(wù)端代碼

var net = require('net');
var port = 4002;
var sockets = [];
var server = net.createServer();
server.on('listening', function() {
    console.log('Tcp is listening on port ' + port + '.');
});
server.on('connection', function(socket) {
    console.log('Server has a new connection.');
    sockets.push(socket);
    socket.on('data', function(buffer) {
        if (buffer.toString() === "close\r\n") {
            socket.end();
            // server.close();
        }
        sockets.forEach(function(other_socket) {
            if (other_socket !== socket) {
                other_socket.write(buffer);
            }
        });
    });
    socket.on('end', function(data) {
        console.log('Socket is now closed.');
        var index = sockets.indexOf(socket);
        sockets.splice(index, 1);
    });
    socket.write('some thing');
});
server.on('close', function() {
    console.log('Server is now closed.');
});
server.on('error', function(err) {
    console.error(err);
});
server.listen(port);

客戶端直接telnet 127.0.0.1 4002即可

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

推薦閱讀更多精彩內(nèi)容