Commit c7fba0e4 authored by 神楽坂玲奈's avatar 神楽坂玲奈 Committed by 铃兰

doc

parent f642a09e
Pipeline #16075 passed with stages
in 30 seconds
......@@ -36,7 +36,7 @@ interface Hello {
```typescript
interface Report {
id: number // 自己的 id
seq: number // 顺序号,每次收到 Change 后自增
ack: number // 顺序号,每次收到 Change 后自增
peers?: { id: number, reliability: number, delay: number }[]
}
```
......@@ -80,7 +80,7 @@ seq自增,按照要求修改路由表,改完之后立即额外发送一次 R
## 关于顺序号,断线、重启的一些解释:
### 客户端跟客户端之间
- 重启
客户端收到跟之前差距较大的顺序号时,意味着客户端可能发生了重启或者断网一段时间,应当视为新上线的节点。
客户端收到跟之前差距较大的顺序号时,意味着客户端可能发生了重启或者断网一段时间,应当视为新上线的节点。
客户端跟客户端之间的通讯不需要可靠,即使对方启动后不久又立刻重启,这会导致顺序号略微减少不触发重置,并且忽略掉报文视为丢包。但是这没关系,过几秒钟他就又跟上来了。
- 断网
超时收不到信息就标记为下线 (可靠性=0)
......@@ -91,9 +91,9 @@ seq自增,按照要求修改路由表,改完之后立即额外发送一次 R
任何一个顺序号一定要确认过才会自增,不然会反复发送这一个:
- 客户端重启
客户端seq=0那个包服务器会立即回复一个change,如果丢包就会下个包再来
客户端 ack=0 那个包服务器会立即回复一个 change,如果丢包就会下个包再来
- 服务端重启
客户端seq!=0,服务器seq=0,服务器会回复一个seq=0的change,丢包一样
客户端 ack!=0,服务器 seq=0,服务器会回复一个 seq=0 的 change,丢包一样
- 服务端断网
客户端没有收到任何新指令,继续维持现有路由表跑
- 客户端断网
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment