看了TCP的有关知识,写了个基于NET的聊天室。
代码如下 | 复制代码 |
varnet = require('net'); varcount = 0, users = {}; varserver = net.createServer(function(conn) { console.log('连接到'); conn.write( "rn > welcome to node-chat!" +"rn > "+ count +" other people are connected at this time." +"rn > please write your name and press enter: " ); count++; // 代表当前连接的昵称 varnickname; console.log(conn); conn.on('data',function(data) { // 删除rn // data = data.replace('rn', ' '); // 当前注册的昵称不存在 if(!nickname) { // 用户名存在 if(users[data]) { conn.write('nickname in use'); return; }else{ // 用户名给nickname nickname = data; users[nickname] = conn; for(variinusers) { users[i].write('rn > '+ nickname +' join our room rn > I: '); } } }else{ // 开始聊天 for(variinusers) { if(i != nickname) { users[i].write('rn > '+ nickname +': '+ data); } } } }); conn.on('close',function() { count--; }); conn.setEncoding('utf8'); }); server.listen(3000,function() { console.log('服务器监听端口3000'); }) |
运行截图:
终端:
telnet 这里截取了两个网友
我的博物馆故事 官方安卓版v1.61.2
我的博物馆故事是一款以消除为主题的经营养成类手游,在这里玩家
专业模拟飞行10 手机版v12.2.4
专业模拟飞行10安卓版是一款飞行休闲手游,顶尖的物理飞行引擎
动物起义战斗模拟器二琳同款 最新版v4.1.1
动物起义战斗模拟器是一个非常有趣的模拟类游戏,玩家可以召唤各
迷你世界七周年 安卓手机版v1.43.0
迷你世界7周年是一款由《迷你世界》官方推出的庆祝特别版本,在
劫后公司无限资源版 v1.0.5.1
劫后公司内置菜单版是游戏的破解版本,在该版本中为玩家提供了内