科学的桂冠只会授予那些把点连成线的人,而不是进行随意观察的人。-《黑天鹅》
[Tech]IM项目中的消息交互设计
在IM系统的消息交互设计中,我们支持了文件,视频,图片,语音等消息类型,并支持已发送消息的回复和跳转以及消息的点赞和点踩,用户可以艾特群成员,并弹出消息提醒对应的群成员有艾特消息。用户还可以在时间线展示的情况下查看历史消息列表,以及对消息进行撤回操作。
科学的桂冠只会授予那些把点连成线的人,而不是进行随意观察的人。-《黑天鹅》
在IM系统的消息交互设计中,我们支持了文件,视频,图片,语音等消息类型,并支持已发送消息的回复和跳转以及消息的点赞和点踩,用户可以艾特群成员,并弹出消息提醒对应的群成员有艾特消息。用户还可以在时间线展示的情况下查看历史消息列表,以及对消息进行撤回操作。
在实时通讯系统中,消息的发送和接收是最重要的部分,要实现高效稳定的消息系统,需要考虑多个关键点,比如保证消息的时序性、消息可靠ACK、避免消息重复、热点群扩散风暴等。
在项目实践中,会用到很多池化的技术,比如线程池、数据库连接池、HTTP连接池等,这种池化技术的思想主要是为了减少每次获取资源的消耗,提高对资...
在涉及用户登录的项目中,经常需要结合token来获取当前用户的信息,从而实现各种个性化的业务需求。目前,用户token在服务端的实现主流方式有 1)使用SessionID 2)使用JWT 3)中心化存储token。
在我们实际的IM项目中,我们使用了websocket进行连接管理,并根据连接的特性指定了前后端消息的类型以及根据请求内容获取用户真实ip,并使用心跳包进行用户下线感知,对用户请求路由处理等。
使用策略模式实现多条url消息解析成多张小卡片进行展示,并实现跳转功能。普通的url消息发送只有一串地址,不点进去并不知道网页的具体内容,如...
tech test