yamux:Golang连接多路复用库
Yamux
Yamux(还有另一个Multiplexer)是Golang的多路复用库。 它依靠基础连接来提供可靠性和顺序(例如TCP或Unix域套接字),并提供面向流的多路复用。 它受到SPDY的启发,但不能与它互操作。
Yamux功能包括:
双向流
客户端或服务器均可打开流
对于NAT遍历很有用
服务器端推送支持
流量控制
避免饥饿
背压以防止接收器不堪重负
保持阿里夫斯通过负载均衡器启用持久连接
高效的以低开销启用数千个逻辑流
文献资料
有关完整的文档,请参阅相关的 。
规格
spec.md文件中提供了spec.md的完整规范。 它可以用作可互操作库的实现者指南。
用法
使用Yamux非常简单:
func client () {
// Get a TCP connection
conn , err := net. Dial ( ... )
if err