网易首页
应用
  • 网易新闻
  • 网易公开课
  • 网易高考智愿
  • 网易红彩
  • 网易严选
  • 邮箱大师
  • 网易云课堂
快速导航
  • 新闻

  • 国内
  • 国际
  • 评论
  • 军事
  • 王三三
  • 体育

  • NBA
  • CBA
  • 综合
  • 中超
  • 国际足球
  • 英超
  • 西甲
  • 意甲
  • 娱乐

  • 明星
  • 图片
  • 电影
  • 电视
  • 音乐
  • 稿事编辑部
  • 娱乐FOCUS
  • 财经

  • 股票
  • 行情
  • 新股
  • 金融
  • 基金
  • 商业
  • 理财
  • 汽车

  • 购车
  • 行情
  • 车型库
  • 新能源
  • 行业
  • 科技

  • 通信
  • IT
  • 互联网
  • 特别策划
  • 网易智能
  • 家电
  • 时尚

  • 亲子
  • 艺术
  • 手机 / 数码

  • 移动互联网
  • 惊奇科技
  • 易评机
  • 房产 / 家居

  • 北京房产
  • 上海房产
  • 广州房产
  • 全部分站
  • 楼盘库
  • 家具
  • 卫浴
  • 旅游

  • 自驾露营
  • 美食
  • 教育

  • 移民
  • 留学
  • 外语
  • 高考
查看网易地图
注册免费邮箱
  • 注册VIP邮箱(特权邮箱,付费)
  • 免费下载网易官方手机邮箱应用
  • 移动端
  • 网易公开课
    • TED
    • 中国大学视频公开课
    • 国际名校公开课
    • 赏课·纪录片
    • 付费精品课程
    • 北京大学公开课
    • 英语课程学习
  • 网易严选
    • 新人特价
    • 9.9专区
    • 新品热卖
    • 人气好物
    • 居家生活
    • 服饰鞋包
    • 母婴亲子
    • 美食酒水
  • 支付
    • 一卡通充值
    • 一卡通购买
    • 我的网易支付
    • 网易跨境支付
  • 邮箱
    • 免费邮箱
    • VIP邮箱
    • 企业邮箱
    • 免费注册
    • 客户端下载
网易首页 > 网易号 > 正文 申请入驻

IM技术干货:假如你来设计微信的群聊,你该怎么设计?

0
分享至

本文由苏三说技术分享,原题“微信群聊功能,原来是这样设计的!”,下文进行了排版和内容优化等。

1、引言

当我那天拿着手机,正在和朋友们的微信群里畅聊着八卦新闻和即将到来的周末计划时,忽然一条带着喜意的消息扑面而来,消息正中间写着八个大字:恭喜发财,大吉大利。



抢红包!!相信大部分人对此都不陌生,微信的这个群聊系统可以方便地聊天、分享图片和表情,还有那个神奇的红包功能。

微信作为 10 亿用户级别的全民 App,微信建群功能是微信里面核心的一个能力,它可以将数百个好友或陌生人放进一个群空间。



微信背后的这个IM群聊系统到底是如何实现的呢?这个问题一直困扰着,于是我决定深入了解一下,看看微信的群聊系统背后的设计是怎样的。



技术交流:

- 移动端IM开发入门文章:《新手入门一篇就够:从零开发移动端IM》

- 开源IM框架源码:https://github.com/JackJiang2011/MobileIMSDK(备用地址点此)

(本文已同步发布于:http://www.52im.net/thread-4635-1-1.html)

2、群聊系统需求

2.1系统特点与功能需求

微信群聊功能是社交应用的核心功能之一,它允许用户创建自己的社交圈子,与家人、朋友或共同兴趣爱好者进行友好地交流。

以下是微信群聊系统的核心功能:



具体来说就是:

  • 1)创建群聊:用户可以创建新的聊天群组,邀请其他好友用户加入或与陌生人面对面建群;
  • 2)群组管理:群主和管理员能够管理群成员,设置规则和权限;
  • 3)消息发送和接收:允许群成员发送文本、图片、音频、视频等多种类型的消息,并推送给所有群成员;
  • 4)实时通信:消息应该能够快速传递,确保实时互动;
  • 5)抢红包:用户在群聊中发送任意个数和金额的红包,群成员可以抢到随机金额的红包。

2.2非功能需求(应对高并发、高性能、海量存储)

当我们面对 10 亿微信用户每天都可能使用建群功能的情景时,就需要处理大规模的用户并发。这就引出了系统的非功能需求。

主要包括以下方面:

  • 1)高并发:系统需要支持大量用户同时创建和使用群组,以确保无延迟的用户体验;
  • 2)高性能:快速消息传递、即时响应,是数字社交的关键;
  • 3)海量存储:系统必须可扩展,以容纳用户生成的海量消息文本、图片及音视频数据。

3、群聊概要设计

在概要设计中,我们考虑了系统的核心组件和基本业务的概要设计。

3.1核心组件

微信群聊系统中,会涉及到如下核心组件和协议:



具体就是:

  • 1)客户端:接收手机或 PC 端微信群聊的消息,并实时传输给后台服务器;
  • 2)Websocket传输协议:支持客户端和后台服务端的实时交互,开销低,实时性高,常用于微信、QQ 等 IM 系统通信系统;
  • 3)长连接集群:与客户端进行 Websocket 长连接的系统集群,并将消息通过中间件转发到应用服务器;
  • 4)消息处理服务器集群:提供实时消息的处理能力,包括数据存储、查询、与数据库交互等;
  • 5)消息推送服务器集群:这是信息的中转站,负责将消息传递给正确的群组成员;
  • 6)数据库服务器集群:用于存储用户文本数据、图片的缩略图、音视频元数据等;
  • 7)分布式文件存储集群:存储用户图片、音视频等文件数据。

3.2业务概要设计

群聊创建主要涉及以下这些事:

1)唯一ID分配:当用户请求创建一个新群组时,系统生成一个唯一的群组 ID,通常可以使用分布式 ID 生成器如雪花算法(Snowflake)或直接使用数据库自增 ID。这里我们为了实现简便,采用 MySQL 的自增 ID。

PS:其实IM里消息ID的生成也是个很热门的技术点,有兴趣可以阅读下面的文章:

  1. 《IM消息ID技术专题(一):微信的海量IM聊天消息序列号生成实践(算法原理篇)》
  2. 《IM消息ID技术专题(二):微信的海量IM聊天消息序列号生成实践(容灾方案篇)》
  3. 《IM消息ID技术专题(三):解密融云IM产品的聊天消息ID生成策略》
  4. 《IM消息ID技术专题(四):深度解密美团的分布式ID生成算法》
  5. 《IM消息ID技术专题(五):开源分布式ID生成器UidGenerator的技术实现》
  6. 《IM消息ID技术专题(六):深度解密滴滴的高性能ID生成器(Tinyid)》
  7. 《IM消息ID技术专题(七):深度解密vivo的自研分布式ID服务(鲁班)》

2)群组信息存储:将群组 ID 和相关信息(例如群名、创建者 ID 等)存储在群组数据库中。

3)成员关联:将群主添加为群组的创始成员,同时创建者也会成为管理员。

4)消息历史记录:为了确保新成员能够访问以前的消息,将此新群组的群组 ID 与用户消息关联存储。

除了拉好友建群,微信还实现了面对面建群的能力。

接下来,我们深入探讨了三到四个核心功能的详细设计,包括面对面建群、消息发送与接收及抢红包功能。

4、面对面建群功能

4.1概述

用户发起面对面建群,并输入一个 4 位数的随机码,周围的用户输入该随机码后可加入群聊,面对面建群功能通常涉及数据表设计和核心业务交互流程将在下面的小节里详细逐个讨论。

4.2数据库表设计

涉及到群聊的主要数据库表有:

  • 1)User 表:存储用户信息,包括用户 ID、昵称、头像等;
  • 2)Group 表:存储群组信息,包括群 ID、群名称、创建者 ID、群成员个数等;
  • 3)GroupMember 表:关联用户和群组,包括用户 ID 和群 ID;
  • 4)RandomCode 表:存储面对面建群的随机码和关联的群 ID。

4.3核心业务交互流程



用户 A 在手机端应用中发起面对面建群,并输入一个随机码,校验通过后,等待周围(50 米之内)的用户加入。此时,系统将用户信息以 HashMap 的方式存入缓存中,并设置过期时间为 3min。

1{随机码,用户列表[用户A(ID、名称、头像)]}

用户 B 在另一个手机端发起面对面建群,输入指定的随机码,如果该用户周围有这样的随机码,则进入同一个群聊等待页面,并可以看到其它群员的头像和昵称信息。

此时,系统除了根据随机码获取所有用户信息,也会实时更新缓存里的用户信息。



当第一个用户点击进入该群时,就可以加入群聊,系统将生成的随机码保存在 RandomCode 表中,并关联到新创建的群 ID,更新群成员的个数。

然后,系统将用户信息和新生成的群聊信息存储在 Group、GroupMember 表中。

4.4成员加入,刷新群员信息

之后:B、C 用户带着随机码加入群聊时,手机客户端向服务器后端发送请求,验证随机码是否有效。服务器后端验证随机码,检查随机码是否存在于缓存中,以及是否在有效期内。

然后:判断当前群成员是否满员(目前普通用户创建的群聊人数最多为 500 人),如果验证通过,服务器后端将用户 B、C 添加到群成员表 GroupMember 中,并返回成功响应。

移动客户端应用收到成功响应后,更新用户 B、C 的群聊列表,展示他们已加入的新群聊。

4.5其它技术组件

这样,用户 A 通过创建随机码和周围的用户扫描二维码的方式成功建立了一个面对面建群。这个功能涉及了多个技术组件,包括分布式缓存、数据库、二维码生成和验证等。

同时,在面对面建群的过程中相当重要的能力是标识用户的区域,比如 50 米以内。这个可以用到 Redis 的 GeoHash 算法,来获取一个范围内的所有用户信息。

5、 群聊消息发送与接收能力

5.1概述

当某个成员在微信群里发言,系统需要处理消息的分发、通知其他成员、以及确保消息的显示。以下是这一功能的详细交互步骤,以及数据库存储方案。

5.2交互流程

消息发送和接收时序图如下:



具体就是:

1)用户A在群中发送一条带有图片、视频或音频的消息。

2)移动客户端应用将消息内容和媒体文件上传到服务器后端。

3)服务器后端接收到消息和媒体文件后,将消息内容存储到 Message 表中,同时将媒体文件存储到分布式文件存储集群中。在 Message 表里,不仅记录了媒体文件的 MediaID,以便关联消息和媒体;还记录了缩略图、视频封面图等等。

4)服务器后端会向所有群成员广播这条消息。移动客户端应用接收到消息后,会根据消息类型(文本、图片、视频、音频)加载对应的展示方式。

5)当用户点击查看图片、视频或音频缩略图时,客户端应用会根据 MediaID 到对象存储集群中获取对应的媒体文件路径,并将其展示给用户。

这个流程确保了消息和媒体文件的有效存储和展示。用户可以上传和查看各种类型的媒体数据,而服务器后端通过关联 Message 和对象存储服务器中的信息,实现了有效的消息存储和展示。

5.3消息存储和展示

在微信群中保存和展示用户的图片、视频或音频数据,通常需要进行数据存储和展示方面的设计。除了上面面对面建群功能中提到的用户表和群组表以外,还需要以下表结构。

比如:

1)Message表:用于存储消息,每个消息都有一个唯一的 MessageID,消息类型(文本、图片、视频、音频),消息内容(文字、图片缩略图、视频封面图等),发送者 UserID、接收群 GroupID、发送时间等字段。

2)Media表:存储用户上传的图片、视频、音频等媒体数据。每个媒体文件都有一个唯一的 MediaID,文件路径、上传者 UserID、上传时间等字段。

3)MessageState表:用于存储用户消息状态,包括 MessageID、用户 ID、是否已读等。在消息推送时,通过这张表计算未读数,统一推送给用户,并在离线用户的手机上展示一个小数字代表消息未读数。

我们知道,MySQL 每次查询 select count 类型的语句时,都会触发全表扫描,所以每次加载消息未读数都很慢。

为了查询性能考虑,我们可以将用户的消息数量存入 Redis,并实时记录一个未读数值。并且,当未读数大于 99 时,就将未读数值置为 100 且不再增加。

当推送用户消息时,只要未读数为 100,就将推送消息数设置为 99+,以此来提升存储的性能和交互的效率。

6、 群聊中的抢红包功能

6.1概述

抢红包功能允许用户在群聊中发送任意个数和金额的红包,群成员可以抢到随机金额的红包,但要保证每个用户的红包金额不小于 0.01 元。



抢红包的详细交互流程如下:

  • 1)用户接收到抢红包通知,点击通知打开群聊页面;
  • 2)用户点击抢红包,后台服务验证用户资格,确保用户尚未领取过此红包;
  • 3)若用户资格验证通过,后台服务分配红包金额并存储领取记录;
  • 4)用户在微信群中看到领取金额,红包状态更新为“已领取”;
  • 5)异步调用支付接口,将红包金额更新到钱包里。

抢红包功能需要关注抢红包的数据库设计,抢红包实时性和红包分配算法。

6.2数据库设计

红包表 redpack 的字段如下:

  • 1)id:主键,红包ID;
  • 2)totalAmount:总金额;
  • 3)surplusAmount:剩余金额;
  • 4)total:红包总数;
  • 5)surplusTotal:剩余红包总数;
  • 6)userId:发红包的用户ID。

该表用来记录用户发了多少红包,以及需要维护的剩余金额。

红包记录表 redpack_record 如下:

  • 1)id:主键,记录ID;
  • 2)redpackId:红包ID,外键;
  • 3)userId:用户ID;
  • 4)amount:抢到的金额。

记录表用来存放用户具体抢到的红包信息,也是红包表的副表。

6.3实时性

发红包的步骤:

  • 1)用户设置红包的总金额和个数后,在红包表中增加一条数据,开始发红包;
  • 2)为了保证实时性和抢红包的效率,在 Redis 中增加一条记录,存储红包 ID 和总人数 n;
  • 3)抢红包消息推送给所有群成员。

从 2015 年起,微信红包的抢红包和拆红包就分离了,用户点击抢红包后需要进行两次操作。这也是为什么明明有时候抢到了红包,点开后却发现该红包已经被领取完了。



抢红包的交互步骤如下:

  • 1)抢红包:抢操作在 Redis 缓存层完成,通过原子递减的操作来更新红包个数,到 0 后就说明抢光了;
  • 2)拆红包:拆红包时,首先会实时计算金额,一般是通过二倍均值法实现(即 0.01 到剩余平均值的 2 倍之间);
  • 3)红包记录:用户获取红包金额后,通过数据库的事务操作累加已经领取的个数和金额,并更新红包表和记录表;
  • 4)转账:为了提升效率,最终的转账为异步操作,这也是为什么在春节期间,红包领取后不能立即在余额中看到的原因。

6.4红包分配算法

红包金额分配时,由于是随机分配,所以有两种实现方案:

  • 1)实时拆分;
  • 2)预先生成。

6.4.1)实时拆分:

实时拆分,指的是在抢红包时实时计算每个红包的金额,以实现红包的拆分过程。

这个需要我们设计一个好的拆分算法,让红包拆分时一直保证后续待拆分红包的金额不能为空。

实时拆分时,不容易做到拆分的红包金额服从正态分布规律。

6.4.2)预先生成:

预先生成,指的是在红包开抢之前已经完成了红包的金额拆分,抢红包时只是依次取出拆分好的红包金额。

这种方式对拆分算法要求较低,可以拆分出随机性很好的红包金额,但通常需要结合队列使用,而且需要多设计一个表来存储红包的拆分金额。

6.4.3)二倍均值法:

综合上述优缺点考虑,以及微信群聊中的人数不多(目前最高 500 人),所以我们采用实时拆分的方式,用二倍均值法来生成随机红包,只满足随机即可,不需要正态分布。

故可能出现很大的红包差额,但这更刺激不是吗。。。

使用二倍均值法生成的随机数,每次随机金额会在 0.01 ~ 剩余平均值*2 之间。

假设当前红包剩余金额为 10 元,剩余个数为 5,10/5 = 2,则当前用户可以抢到的红包金额为:0.01 ~ 4 元之间。

6.4.4)算法优化

用二倍均值法生成的随机红包虽然接近平均值,但之前我在某论坛上看到过类似的说法:微信红包金额的随机性和领取的时机有关系,尤其是金额不高的情况下。

于是,小❤耗费巨资在微信群发了多个红包,得出了这样一个结论:如果发出的 红包总额 = 红包数*0.01 + 0.01,比如:发了 4 个红包,总额为 0.05,则最后一个人领取的红包金额一定是 0.02。



无一例外:



所以,红包金额算法大概率不是随机分配,而是在派发红包之前已经做了处理。比如在红包金额生成前,先生成一个不存在的红包,这个红包的总额为 0.01 * 红包总数。

而在红包金额分配的时候,会对每个红包的随机值基础上加上 0.01,以此来保证每个红包的最小值不为 0。

所以,假设用户发了总额为 0.04 的个数为 3 的红包时,需要先提取 3*0.01 到 "第四个" 不存在的红包里面,于是第一个人抢到的红包随机值是0 ~ (0.04-3*0.01)/3。

由于担心红包超额,所以除数的商是向下取二位小数,0 ~ (0.04-3*0.01)/3 ==> (0 ~ 0) = 0,再加上之前提取的保底值 0.01,于是前两个抢到的红包金额都是 0.01。最后一个红包的金额为红包余额,即 0.02。

算法逻辑用 Go 语言实现如下:

import(
"fmt"
"math"
"math/rand"
"strconv"

typeRedPack struct{
SurplusAmount float64// 剩余金额
SurplusTotal int// 红包剩余个数

// 取两位小数
funcremainTwoDecimal(num float64) float64{
numStr := strconv.FormatFloat(num, 'f', 2, 64)
num, _ = strconv.ParseFloat(numStr, 64)
returnnum

// 获取随机金额的红包
funcgetRandomRedPack(rp *RedPack) float64{
ifrp.SurplusTotal <= 0 {
// 该红包已经被抢完了
return0

ifrp.SurplusTotal == 1 {
returnremainTwoDecimal(rp.SurplusAmount + 0.01)

// 向下取整
avgAmount := math.Floor(100*(rp.SurplusAmount/float64(rp.SurplusTotal))) / float64(100)
avgAmount = remainTwoDecimal(avgAmount)
// 生成随机数种子
rand.NewSource(time.Now().UnixNano())
varmax float64
ifavgAmount > 0 {
max = 2*avgAmount - 0.01
} else{
max = 0
money := remainTwoDecimal(rand.Float64()*(max) + 0.01)
rp.SurplusTotal -= 1
rp.SurplusAmount = remainTwoDecimal(rp.SurplusAmount + 0.01 - money)
returnmoney

funcmain() {
rp := &RedPack{
SurplusAmount: 0.06,
SurplusTotal: 5,

// 每个红包先保留 0.01 的余额
rp.SurplusAmount -= 0.01 * float64(rp.SurplusTotal)
total := rp.SurplusTotal
fori := 0; i < total; i++ {
fmt.Println(getRandomRedPack(rp))

打印结果:

10.01、0.01、0.01、0.01、0.02

符合预期!

PS:另一篇《社交软件红包技术解密(十一):解密微信红包随机算法(含代码实现)》,也可以一并阅读。

7、 本文小结

微信群聊及抢红包等功能背后蕴藏着复杂的交互技术和精心设计的产品体验,通过这些核心组件、数据库表和详细的交互流程,让用户能够轻松参与并享受群聊系统带来的便利。

并且,添加了这些充满趣味的功能,也是微信用户众多的原因之一吧!

微信建群功能的系统设计不仅仅是一个技术壮丽的展示,更是数字社交的魔法之一。

8、 参考资料

[1]IM单聊和群聊中的在线状态同步应该用“推”还是“拉”?

[2]IM群聊消息如此复杂,如何保证不丢不重?

[3]移动端IM中大规模群消息的推送如何保证效率、实时性?

[4]IM群聊消息究竟是存1份(即扩散读)还是存多份(即扩散写)?

[5]一套高可用、易伸缩、高并发的IM群聊、单聊架构方案设计实践

[6]网易云信技术分享:IM中的万人群聊技术方案实践总结》

[7]阿里钉钉技术分享:企业级IM王者——钉钉在后端架构上的过人之处

[8]IM群聊消息的已读未读功能在存储空间方面的实现思路探讨

[9]直播系统聊天技术(二):阿里电商IM消息平台,在群聊、直播场景下的技术实践

[10]直播系统聊天技术(七):直播间海量聊天消息的架构设计难点实践

[11]企业微信的IM架构设计揭秘:消息模型、万人群、已读回执、消息撤回等

[12]融云IM技术分享:万人群聊消息投递方案的思考和实践

[13]实时社群技术专题(一):支持百万人超级群聊,一文读懂社群产品Discord

[14]社交软件红包技术解密(一):全面解密QQ红包技术方案——架构、技术实现等

[15]社交软件红包技术解密(十一):解密微信红包随机算法(含代码实现)

(本文已同步发布于:http://www.52im.net/thread-4635-1-1.html)

特别声明:以上内容(如有图片或视频亦包括在内)为自媒体平台“网易号”用户上传并发布,本平台仅提供信息存储服务。

Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.

相关推荐
热点推荐
  • 塔图姆31+6+5凯尔特人再胜独行侠3-0 欧文35分

    网易体育 2024-06-13 11:01:53

    7962 跟贴 7962
  • 亚洲18强最新分档曝光!国足或陷超级死亡之组:比上届12强更难打

    体坛纪录片 2024-06-12 20:57:32

    6238 跟贴 6238
  • 加拿大国防部确认派出军舰和巡逻机追踪俄舰队

    界面新闻 2024-06-13 13:52:50

    8259 跟贴 8259
  • 23亩山塘被挖空,阳东村民举报盗采塘砂2年无果

    南方农村报 2024-06-13 10:49:04

    42 跟贴 42
  • 中央召开重要会议 鼓励有条件的民企建立现代企业制度

    北青政知新媒体 2024-06-13 12:21:13

    2052 跟贴 2052
  • 体育生超“补录分数线”却落榜,云南师大:已向当事人解释

    澎湃新闻 2024-06-13 09:24:57

    6009 跟贴 6009
  • 全球鹰盘旋7小时,引导乌军打击俄军目标

    寰宇大观察 2024-06-13 13:58:14

    1634 跟贴 1634
  • 文旅局局长被指“官谱太大” 调研时有人打伞? 本人回应

    蓬勃新闻 2024-06-13 09:36:31

    1134 跟贴 1134
  • 机场回应明星耍大牌喊旅客下电梯

    红星新闻 2024-06-12 21:45:45

    3583 跟贴 3583
  • 美国取消乌"亚速营"使用美国武器的禁令 克宫回应

    环球时报国际 2024-06-12 17:38:57

    5211 跟贴 5211
  • 犯满离场!东契奇吐槽:在总决赛吹了我6次犯规 有这样的吗?

    直播吧 2024-06-13 11:34:18

    218 跟贴 218
  • 众生相!布朗30+8+8创纪录抢FMVP仍淡定 东欧被打到沮丧绝望离场

    厝边人侃体育 2024-06-13 11:05:53

    965 跟贴 965
  • 惨烈!河北承德:一面包车与货车剧烈相撞致8死1伤,警方通报

    今天不开心 2024-06-13 13:47:29

    2 跟贴 2
  • 北方高温持续多地将现成片40℃ 江南华南雨连连

    央视新闻客户端 2024-06-13 08:49:25

    1916 跟贴 1916
  • 浙江海宁试点商品房“以旧换新”:存量住房评估总价不得高于新房总价60%

    澎湃新闻 2024-06-13 14:36:28

    173 跟贴 173
  • 上海消防发布7只搜救犬领养公告:因年龄偏大等因素无法参与执勤任务

    澎湃新闻 2024-06-13 07:02:29

    728 跟贴 728
  • “三小时内开除全体员工”“房子都没人卖了”!深圳一老牌房企被曝全员解散,员工上门维权却已无人对接

    每日经济新闻 2024-06-13 00:26:08

    1 跟贴 1
  • 蚂蚁集团副总裁蒋国飞离职 赵闻飙接管

    财联社 2024-06-13 15:28:06

    417 跟贴 417
  • 宿舍无空调,学生排队领冰块降温 网友:也是过上娘娘的生活了

    范竹视频 2024-06-13 15:11:08

    0 跟贴 0
  • 欧盟加征关税靴子落地,相关贸易损失或达40亿美元,中国电动汽车影响几何

    红星新闻 2024-06-13 15:13:50

    2 跟贴 2
  • 深圳一小区使用20年停车场被通知收回,街道办:待明确权属

    南方都市报 2024-06-13 16:37:10

    0 跟贴 0
  • 男子15元自助餐吃2小时被轰出门 店家:怕两人撑着

    中国网资讯 2024-06-13 15:43:56

    0 跟贴 0
  • 网传青岛街道办将居民买房纳入考核,恶意不买房者一律提醒谈话?

    网易号社区管理员 2024-06-13 16:59:34

    0 跟贴 0
  • 记者:张玉宁以前留洋回国时贴钱买商务舱票,坐经济舱有受伤风险

    直播吧 2024-06-13 14:14:13

    0 跟贴 0
  • 山东蒙阴县“久旱逢冰雹”,果农经历“从惊喜到惊吓”:桃子被砸烂了

    红星新闻 2024-06-13 18:02:29

    0 跟贴 0
  • 中国行!桑尼赛后首发声:下个月被邀请来中国,会尽快建国内社媒

    直播吧 2024-06-13 17:05:20

    0 跟贴 0
  • 河北41岁男子自驾进藏失联15天,家属发声

    奔流新闻 2024-06-13 12:38:09

    0 跟贴 0
记者:费南多、刘洋、黄政宇今天凌晨三点才到梅州的酒店

记者:费南多、刘洋、黄政宇今天凌晨三点才到梅州的酒店

懂球帝
2024-06-13 15:08:28
谷俊山威胁领导廖锡龙:我让你离开你就得离开,廖是如何回应?

谷俊山威胁领导廖锡龙:我让你离开你就得离开,廖是如何回应?

历史龙元阁
2024-05-28 00:56:55
泽连斯基在德联邦议院讲话,极右翼与极左翼议员抵制

泽连斯基在德联邦议院讲话,极右翼与极左翼议员抵制

参考消息
2024-06-12 21:22:10
新华社权威快报|8项公安交管便民利企改革新措施7月1日起实施

新华社权威快报|8项公安交管便民利企改革新措施7月1日起实施

新华社
2024-06-13 10:08:14
男子办身份证却被拒,将公安局告上法院,公安局:不改名不给办!

男子办身份证却被拒,将公安局告上法院,公安局:不改名不给办!

小新历史
2024-06-13 08:09:42
土伦杯-日本U19以小打大排名B组第三,韩国U21队A组垫底

土伦杯-日本U19以小打大排名B组第三,韩国U21队A组垫底

直播吧
2024-06-13 08:45:04
江西17岁男孩跳江身亡,父母江边徘徊悲痛欲绝,网友:逼得太紧了

江西17岁男孩跳江身亡,父母江边徘徊悲痛欲绝,网友:逼得太紧了

小虎新车推荐员
2024-06-13 15:16:53
苏州公布一批人事调整,涉多名副局长等

苏州公布一批人事调整,涉多名副局长等

鲁中晨报
2024-06-13 11:19:03
乌军114个营增援哈尔科夫,出现重大防御漏洞,俄军拿下4个要塞

乌军114个营增援哈尔科夫,出现重大防御漏洞,俄军拿下4个要塞

龙炎校尉
2024-06-12 11:12:21
如果你背了很多负债,惨到亲人也瞧不起你,请牢记“卖驴”思维

如果你背了很多负债,惨到亲人也瞧不起你,请牢记“卖驴”思维

阿胖读书
2024-06-08 17:10:34
新华社消息|莫斯科证券交易所宣布停止使用美元和欧元交易

新华社消息|莫斯科证券交易所宣布停止使用美元和欧元交易

新华社
2024-06-13 09:55:11
桑尼妻子:刚收到大量打款还以为是诈骗,很抱歉没准备足够的食材

桑尼妻子:刚收到大量打款还以为是诈骗,很抱歉没准备足够的食材

直播吧
2024-06-12 22:04:09
美国网友:如果中国如此强大,为什么我丝毫看不到中国的影响力

美国网友:如果中国如此强大,为什么我丝毫看不到中国的影响力

议纪史
2024-06-12 17:20:02
你见过的狠人有多绝?网友:认识一妹子,容嬷嬷见了都得使劲摇头

你见过的狠人有多绝?网友:认识一妹子,容嬷嬷见了都得使劲摇头

开玩笑的水母
2024-06-11 18:37:22
安钢原总经理刘润生,被开除党籍

安钢原总经理刘润生,被开除党籍

极目新闻
2024-06-13 10:09:47
梅根新亮相疲惫藏不住!高温穿羊毛大衣上街,贴抗压力贴缓解焦虑

梅根新亮相疲惫藏不住!高温穿羊毛大衣上街,贴抗压力贴缓解焦虑

木木尔时尚
2024-06-13 18:09:59
Windhorst:东契奇的防守和脾气正是独行侠无法夺冠的原因

Windhorst:东契奇的防守和脾气正是独行侠无法夺冠的原因

直播吧
2024-06-13 12:29:18
S-400与ATACMS的PK:西方惊讶俄罗斯最新防空系统输给其旧式导弹

S-400与ATACMS的PK:西方惊讶俄罗斯最新防空系统输给其旧式导弹

探索星空
2024-06-13 12:39:27
艾森豪威尔号的指挥官:我们今年已沉没了两次

艾森豪威尔号的指挥官:我们今年已沉没了两次

西楼饮月
2024-06-12 09:18:27
民政部:到2025年每个县至少有1所特困人员供养服务机构

民政部:到2025年每个县至少有1所特困人员供养服务机构

环球网资讯
2024-06-13 09:26:09
2024-06-13 19:06:44
即时通讯技术分享
即时通讯技术分享
即时通讯相关技术的研究与分享
383文章数 3612关注度
往期回顾 全部

科技要闻

小红书员工仅1/5工龄满2年 32岁就不让进了

  • 马斯克:薪酬和搬总部两项决议获股东通过

  • 欧盟“下手”,比亚迪等多家中国车企中招

  • 评论:拦住了中国电动车,欧洲也不会爱上美国的皮卡

  • 谁是苹果AI的“中国合伙人”?

头条要闻

上海的哥撞保时捷后称心脏不舒服去医院 警方发现蹊跷

  • 中国载人航天工程开创者王永志院士逝世 曾师从钱学森

  • 山东蒙阴县"久旱逢冰雹" 果农经历"从惊喜到惊吓"

  • 媒体:美上将称要在台海打造"地狱景观" 是魔鬼在要饭

  • 媒体:中国日报记者TikTok账号被封 美菲勾结藏不住了

头条要闻

上海的哥撞保时捷后称心脏不舒服去医院 警方发现蹊跷

  • 中国载人航天工程开创者王永志院士逝世 曾师从钱学森

  • 山东蒙阴县"久旱逢冰雹" 果农经历"从惊喜到惊吓"

  • 媒体:美上将称要在台海打造"地狱景观" 是魔鬼在要饭

  • 媒体:中国日报记者TikTok账号被封 美菲勾结藏不住了

体育要闻

杰里·韦斯特:为什么他是LOGO?

  • 塔图姆31+6+5凯尔特人再胜独行侠3-0 欧文35分

  • 眼神防守+摊手抱怨!东契奇害惨队友 独行侠G3相当于4打8

  • 犯满离场!东契奇吐槽:在总决赛吹了我6次犯规 有这样的吗?

  • 缺席最后4分钟!美媒:若东契奇没被罚掉 独行侠这场能赢吗?

娱乐要闻

森林北报案,称和汪峰的感情遭受压力

  • 王思聪私生子事件后首次露面:表情冷漠,身后多位异性

  • 林更新考博成功,赵丽颖疑隔空送祝福,双向奔赴好甜蜜

  • 秦岚魏大勋疑分手,传男方向女方求婚遭拒,杨幂无辜躺枪

  • 胡歌回应和霍建华林依晨联络:该通的都通了,我们不分彼此

财经要闻

私募大佬孙强:中国为什么缺少耐心资本

  • 内衣“天使”坠落:维密Q1亏400万美元 中国市场常年亏损

  • 风口浪尖的“减肥神药”

  • 收评:沪指震荡调整跌0.28% 科创板次新股集体爆发

  • 2320元/瓶!已经跌了一个半月 茅台酒价格跌破重要关口

汽车要闻

升级8155芯片 新款卡罗拉锐放售12.98-18.48万

  • 风阻系数0.259 宝骏云海将于第三季度上市

  • 纯电虽迟但智能超越期待 这样的领克Z10爱不爱?

  • 6个拷问聊小鹏X9 是长得怪?还是另辟蹊径?

  • 美系与电动会擦出怎样火花?试驾凯迪拉克IQ傲歌

态度原创

家居
房产
亲子
健康
艺术

家居要闻

大城小室 质朴自然的心灵居所

  • 原木绿居 阳光编织的自然生活诗篇

  • 原木混搭 和谐静谧潜匿无数禅机

  • 柔和婉转 让阳光洒满空间

房产要闻

再度告急!海口连续仨月住宅入市不足千套!竟有楼盘卖爆!

  • 真悬!最后一分钟,加价一万!民企掐点出手,拿下海南重磅宅地!

  • 今日正式执行!海南下调房贷利率!暂不涉及存量贷款!

  • 顶流地段+顶级户型!香港半山豪宅,已成为高净值人群的资产压舱石!

亲子要闻

孩子吃饭时习惯性叫人盛饭 父母配合一招滑稽教育

  • 打败孩子的不是天真是无鞋!!!

  • 孩子发烧如何应对? 儿童退烧药千万不能乱吃!

  • 针对产后妈妈,一个简单的动作改善骨盆前倾,塑形。

  • 什么样的家庭,孩子才是最幸福的?

晚餐不吃or吃七分饱,哪种更减肥?

  • 被蚊子叮后 为何有人起红点有人起包?

  • 考后“真空期” 专家支招做好心理调适

  • 高考冲刺阶段,送给高考生6条饮食建议

  • 甲状腺结节到底是不是癌?常见误区解答

艺术要闻

穿越时空的艺术:《马可·波罗》AI沉浸影片探索人类文明

  • 与中坚力量共成长,2024建信信托艺术大奖评委会特别奖获奖艺术家凌海鹏

  • 2024凤凰艺术新星奖获奖艺术家徐雅涵:生命能量的蔓延

  • 9位艺术家的作品亮相“巨物移动,身体失重”群展

  • 深入地铁,看纽约现代艺术

无障碍浏览 进入关怀版

两个鬼故事西方奇幻小说起名字大全女孩评分细则测试打分孩子免费起名字大全免费起名字注意的问题lgbt是什么意思啊企业起名测字谢氏起名男人名字女孩起名楠的寓意起名五行字库下载义诺起名的意思马姓女孩起名猴年蔬菜商店起名大全游戏中起名字郑氏女孩起人名女双胞胎起名尾行3下载rng战队是哪个国家的网上起名靠谱起名朱氏属牛起名字适合用的字有哪些春节英语手抄报内容中国女人人体艺术二年级作文是网上怎么起名中国大师起名辣手回春起个独特的网名边塞诗人棋牌室起名称季暖墨景深全文免费阅读少年生前被连续抽血16次?多部门介入两大学生合买彩票中奖一人不认账让美丽中国“从细节出发”淀粉肠小王子日销售额涨超10倍高中生被打伤下体休学 邯郸通报单亲妈妈陷入热恋 14岁儿子报警何赛飞追着代拍打雅江山火三名扑火人员牺牲系谣言张家界的山上“长”满了韩国人?男孩8年未见母亲被告知被遗忘中国拥有亿元资产的家庭达13.3万户19岁小伙救下5人后溺亡 多方发声315晚会后胖东来又人满为患了张立群任西安交通大学校长“重生之我在北大当嫡校长”男子被猫抓伤后确诊“猫抓病”测试车高速逃费 小米:已补缴周杰伦一审败诉网易网友洛杉矶偶遇贾玲今日春分倪萍分享减重40斤方法七年后宇文玥被薅头发捞上岸许家印被限制高消费萧美琴窜访捷克 外交部回应联合利华开始重组专访95后高颜值猪保姆胖东来员工每周单休无小长假男子被流浪猫绊倒 投喂者赔24万小米汽车超级工厂正式揭幕黑马情侣提车了西双版纳热带植物园回应蜉蝣大爆发当地回应沈阳致3死车祸车主疑毒驾恒大被罚41.75亿到底怎么缴妈妈回应孩子在校撞护栏坠楼外国人感慨凌晨的中国很安全杨倩无缘巴黎奥运校方回应护栏损坏小学生课间坠楼房客欠租失踪 房东直发愁专家建议不必谈骨泥色变王树国卸任西安交大校长 师生送别手机成瘾是影响睡眠质量重要因素国产伟哥去年销售近13亿阿根廷将发行1万与2万面值的纸币兔狲“狲大娘”因病死亡遭遇山火的松茸之乡“开封王婆”爆火:促成四五十对奥巴马现身唐宁街 黑色着装引猜测考生莫言也上北大硕士复试名单了德国打算提及普京时仅用姓名天水麻辣烫把捣辣椒大爷累坏了

两个鬼故事 XML地图 TXT地图 虚拟主机 SEO 网站制作 网站优化