网页端即时通信应用消息列表的更新逻辑

一、目的

猜测BOSS直聘、智联招聘等网页端的消息列表逻辑。

二、发出新消息

1、输入框用HTML的<textarea>标签。

2、监听发送按钮。

3、触发发送按钮事件,用AJAX来请求服务器接口。

把会话ID、收件人ID和新消息上传给服务器。

案例如下:

http.post("/news", {"sid":"hyuud7543619"},

{

"recvId": getRcvId(),

"msg": getMessage(),

},

function(code, xhr){},

function(code, data, xhr){}

);

三、收取新消息

主要难点:服务器推送消息和新消息通知。

1、用webSocket客户端监听新消息

ws.onmessage = function(e){

// 获取列表对象

var list = getList();

// 添加新消息

list.addItem(e.data);

// 未读消息个数加一

getUnreadSize().increment();

// 发出新消息通知

notify(e.data.sendId, e.data.msg);

}

消息列表一般用<div>标签来实现,用appendChild()接口来添加子节点。

2、发出新消息通知

浏览器默认有Notification类来弹窗通知。

如果需要声音播放,还需要调用<audio>标签的play()和stop()接口。

四、网页端的优缺点

优点:

1、应用功能总是获取最新的,升级容易。

2、开发成本少,界面搭建简单又美观。

缺点:

1、对于硬件功能很难调用。

例如:摄像头,麦克风调用,扬声器声音调用,新消息通知。

2、浏览器的安全限制太强。

相关推荐
一路往蓝-Anbo6 小时前
第二章:隔离硬件 —— 利用 CMock 伪造 GPIO 与定时器
stm32·单片机·嵌入式硬件·软件工程·信息与通信·tdd
ZC跨境爬虫12 小时前
跟着 MDN 学 HTML day_56:(HTML 表格基础完全指南)
前端·javascript·ui·html·音视频
星恒讯工业路由器13 小时前
SDN:让网络变得更智能、更灵活、更可编程
网络·物联网·信息与通信·sdn
ZC跨境爬虫17 小时前
跟着 MDN 学 HTML day_55:HTML 音频与视频嵌入实战指南
前端·javascript·ui·html·音视频·媒体
Jack N17 小时前
2026 浏览器原理 常见面试题(附答案)
前端·html·浏览器
QH1392923188017 小时前
R&S®SMBV100B 矢量信号发生器 5G/Wi-Fi/GNSS 主力源
网络·科技·嵌入式硬件·集成测试·信息与通信
纽格立科技18 小时前
数字广播快问快答:从“有没有载波“到“听上去像噪声“
服务器·车载系统·信息与通信·传媒
星恒讯工业路由器18 小时前
5G SA+NSA 灵活组网:如何助力行业数字化转型?——以星恒讯工业5G方案为例
网络·物联网·智能路由器·信息与通信
ZC跨境爬虫18 小时前
跟着 MDN 学 HTML day_57:(HTML 表格进阶特性与无障碍实践)
java·前端·javascript·ui·html·音视频
ZC跨境爬虫19 小时前
跟着 MDN 学 HTML day_54:(深入掌握 XSLTProcessor API)
前端·javascript·ui·html·媒体