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