1.1.1 • Published 15 days ago

@gdty/tim-npm-sdk v1.1.1

Weekly downloads
-
License
MulanPSL-2.0
Repository
-
Last release
15 days ago

websocket json

主体使用 JzWebsocketJson

#拉取

yarn add @gdty/tim-npm-sdk
import {JzWebsocketJson} from '@gdty/tim-npm-sdk'

websocket可靠性优化

1、发送可靠性

主要对发送人发送信息后立刻响应信息,以作为是否发送成功的标志,发送失败时提醒。

2、接收可靠性

加入心跳机制和断线重连,后续加上聊天记录获取

关于Keep Alive心跳

通常来说,IM里的心跳指的是为了TCP或UDP通讯的socket保活而进行的定时向服务端发送keep alive包的机制。 一般来说Keep Alive心跳的作用至少有两个: 1)解决UDP或TCP的端口老化问题(UDP的端口老化时间更短); 2)告诉服务器我还活着(极端情况下,当客户端因程序崩溃等情况而非常退出时,心跳就显得特别重要,尤其在使用UDP这样的“无连接”协议的情况下)。

关于QOS

我们讲讲应答机制:

主流的IM(不管是IM云还是像微信这样的产品),都会这个消息应答机制(易信就特别明显,你甚至可以看到对方读消息的时间,也同样是用的应答机制),且无论是UDP协议还是TCP协议。应答机制通常是在消息接收者收到消息的同时,马上发送应答包,发送方只需根据这个应答包来决定对方是否真的是否“收到”消息,这就让丢包(当然丢包的情况有很多种可能,UDP协议自身的特殊性只是其中一种)的判定变的简单。

再来讲讲重传机制:

这个重传机制,跟你说的心跳是差不多的,但是用“心跳”可能容易跟Keep alive机制混淆,所以叫定时线程,可能更准确。它的工作原理是,定期检查已发送队列,当包的生存期已过,就表示这个包从未收到应答包,也就认为着它没有被接收方“收到”,那么自动触发重传机制。

http://www.52im.net/thread-129-1-2.html

http://www.52im.net/thread-294-1-1.html?spm=a2c6h.12873639.article-detail.4.2fe46f280ooUNa

http://www.52im.net/thread-594-1-1.html?spm=a2c6h.12873639.article-detail.5.2fe46f280ooUNa

#下一步

1、离线消息(推送)

2、已读未读

3、同步返回信息

1.1.1

15 days ago

1.1.0

4 months ago

1.0.9

4 months ago

1.0.8

9 months ago

1.0.6

9 months ago

1.0.5

9 months ago

1.0.4

9 months ago

1.0.3

2 years ago

1.0.2

2 years ago