如何基于websocket开发类似于微信聊天的页面(除基本的聊天功能附带发送图片和表情功能)

基于nodejs和websocket开发的类似微信聊太页面

首先在服务端创建app.js文件,并创建服务器

//引入express模块并使用  相当于var app = express()
var app = require('express')() 
//引入http通信模块,并且开设服务器  http.server(app)
var server = require('http').Server(app)
//引入websoket模块skcket.io,  并且将websoket与Http关联
var io = require('socket.io')(server)
//定义一个常量为空的users数组,用于存储用户数据
server.listen(3000,() =>{
    console.log('服务器启动成功')
})

浏览器端要连接上我们当前部署的这个服务器

//连接socketio服务
const socket = io('http://127.0.0.1:3000')

服务器开设好之后首先监听连接

//监听连接
io.on('connection', function(socket){})

然后监听事件

//监听当用户加入功能
socket.on('login', data => {})
//监听用户断开连接
socket.on('disconnect', () => {})
//监听聊天的信息
socket.on('sendMessage', data => {
//广播给所有的用户
io.emit('receiveMessage', data)
    })
//监听发送图片的功能
socket.on('sendImage', data => {
//广播给所有用户
io.emit('receiveImage', data)
    })

浏览器端对这些事件做一些处理,这里建议用Jquery简单一点
总体效果如下面所示,除基本的聊天功能外,附带发送图片功能,发送表情功能(用jquery-emoji插件)
登录的界面,会有判断,用户名存在的不能登录
登录之后的界面
有人加入聊天室发送表情
发送的图片
自己发消息自动滚动到可视区
有用户离开时
有需要的可以下载完整的代码,下载之后首先需要下载所需要的模块

//下载所需要用到的模块,package-lock-json有所依赖的包,直接输入下面命令进行下载
npm install

最后直接运行app.js

//运行app.js
node app.js

完整的代码在以下连接:weChat聊天室下载

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Venseh

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值