reliable:Go中UDP连接的可靠性层

时间:2024-04-08 00:13:05
【文件属性】:

文件名称:reliable:Go中UDP连接的可靠性层

文件大小:24KB

文件格式:ZIP

更新时间:2024-04-08 00:13:05

golang network udp arq Go

可靠的 可靠是Go中UDP连接的可靠性层。 最多只有9个字节的数据包开销,对于基于UDP的应用程序来说,可靠的工作是: 处理有关您发送的数据包的收件人的确认, 当缓冲过多时处理发送确认, 处理一些超时后未确认接收者的重发已发送数据包,以及 当怀疑接收者的读取缓冲区已满时,处理停止/缓冲要发送的数据包。 **该项目仍为在制品!如果您想提供帮助或有任何疑问,请仔细阅读源代码,编写一些单元测试,提供帮助文档或提出Github问题! 协议 包头 可靠使用与描述的相同数据包头布局。 所有数据包均以代表8个不同标志的单个字节(8位)开头。数据包是顺序的,并使用数据包头中包含的无符号16位整数进行编号,除非将数据包标记为不可靠。 数据包确认(ACK)冗余地包含在每个发送的数据包中,总共使用5个字节:两个字节代表一个无符号的16位数据包序列号(ack),三个字节代表一个32位的位字段(ackBits)。


【文件预览】:
reliable-master
----pool.go(356B)
----error.go(330B)
----go.mod(529B)
----packet.go(4KB)
----conn.go(1KB)
----fuzz.go(1KB)
----go.sum(6KB)
----protocol_test.go(1KB)
----endpoint_test.go(8KB)
----options.go(3KB)
----protocol.go(8KB)
----examples()
--------basic()
--------benchmark()
----packet_test.go(2KB)
----LICENSE(1KB)
----README.md(12KB)
----endpoint.go(3KB)
----.gitignore(57B)
----conn_test.go(1KB)

网友评论