看了TCP的有關知識,寫了個基于NET的聊天室。
var net = require('net');var count = 0, users = {};var server = net.createServer(function (conn) { console.log('連接到'); conn.write( "/r/n > welcome to node-chat!" + "/r/n > " + count + " other people are connected at this time." + "/r/n > please write your name and press enter: " ); count++; // 代表當前連接的昵稱 var nickname; console.log(conn); conn.on('data', function (data) { // 刪除/r/n // data = data.replace('/r/n', ' '); // 當前注冊的昵稱不存在 if (!nickname) { // 用戶名存在 if(users[data]) { conn.write('nickname in use'); return; } else { // 用戶名給nickname nickname = data; users[nickname] = conn; for (var i in users) { users[i].write('/r/n > ' + nickname + ' join our room /r/n > I: '); } } } else { // 開始聊天 for (var i in users) { if (i != nickname) { users[i].write('/r/n > ' + nickname + ': ' + data); } } } }); conn.on('close', function () { count--; }); conn.setEncoding('utf8');});server.listen(3000, function () { console.log('服務器監聽端口3000');})
運行截圖:
終端:
telnet 這里截取了兩個網友
以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持武林網。
新聞熱點
疑難解答