nodej实现简单多人在线聊天室

这是一个简单的多人在线聊天室实现,聊天记录保存在文件中,具备基本的聊天功能。用户可以在此基础上进行样式改进和功能完善。
摘要由CSDN通过智能技术生成

这个聊天室室只是实现简单的聊天功能样式不怎么好看,喜欢的人可以拿去修改完善一下,就可以成型了。
聊天的记录我保存在文件里,方便查看!

1.搭建运行环境
安装

npm i express --save
npm i socket.io --save

创建src目录用于存放自己要写的文件,在目录下建src/chat.html、src/chatHistory.txt两个文件。
建一个server.js作为后台服务器:

//引入程序包
var express = require('express')
var path = require('path')
var app = express()
var server = require('http').createServer(app)
var io = require('socket.io').listen(server)
var fs = require('fs')

//设置日志级别
// io.set('log level', 1);

//WebSocket连接监听
io.on('connection', function (socket) {
  //通知客户端已连接
  socket.emit('open')

  // 构造客户端对象
  var client = {
    socket:socket,
    name: false,
    color:getColor()
  }

  // 对message事件的监听
  socket.on('message', function(msg){
    // 设置时间
    var obj = {
        time:getTime(),
        color:client.color
    }

    // 第一次连接,以第一条消息作为用户名
    if(!client.name){
        client.name = msg
        obj['text']=client.name
        obj['author']='System'
        obj['type']='welcome'
        console.log(client.name + ' login')

        //返回欢迎语
        socket.emit('system',obj)
        //广播新用户已登陆
        socket.broadcast.emit('system',obj)
     }else {
        //如果不是第一次的连接,正常的聊天消息
        obj['text'] = msg
        obj['aut
  • 2
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值