- 博客(5)
- 资源 (7)
- 收藏
- 关注
原创 HTTP/2协议详解
HTTP/1.0 只允许在给定的 TCP连接上,一次发出一个未完成的请求。HTTP/1.1添加了请求流水线,但这只能部分解决请求并发问题,并且仍然受到应用程序层队首阻塞(application-layer head-of-line blocking)的影响。因此,HTTP/1.0 和 HTTP/1.1 客户端与服务器使用多个连接来处理并发请求。此外,HTTP 字段通常重复且冗长,不仅会造成不必要的网络流量,还会导致初始 TCP 拥塞窗口快速填满。
2024-08-22 20:49:20 370
原创 gRPC协议详解及其在Go语言中的使用指南
gRPC Channels提供了与指定主机和端口上的 gRPC 服务器的连接。它在创建客户端存根时使用。客户端可以指定通道参数来修改 gRPC 的默认行为,例如开启或关闭消息压缩。通道具有状态,包括连接状态和空闲状态。对于简单的客户端和服务端架构,通常一个 Channel 对应一个 TCP 连接,并通过该连接处理所有请求。在复杂的场景下,一个 Channel 可能会管理多个 TCP 连接。
2024-08-19 21:44:00 655
原创 Protocol Buffers协议说明及在Go中使用
在某些场景中,你可能需要处理未知的 Protobuf 消息类型,比如构建一个通用的消息处理系统。当需要在不同版本的 Protobuf 消息之间进行转换,或从一种消息格式转换为另一种消息格式时,protoreflect 可以用来动态读取和设置字段值,从而实现消息的转换。它也可以用于记录复杂的 Protobuf 消息,以便更好地理解和分析消息内容。如果你需要自定义 Protobuf 消息的序列化逻辑(比如实现自定义的序列化格式),protoreflect 提供了对消息内部结构的访问,可以帮助你实现这一功能。
2024-08-13 22:16:30 1094
原创 WebSocket协议详解及使用Go实现WebSocket服务端
WebSocket支持消息的分段传输,分片的主要目的是允许在消息开始时发送大小未知的消息,而无需缓冲该消息。示例:对于作为一个文本消息分成三个片段发送的情况,第一个片段的Opcode将是0x1,FIN位被清除;%x9 denotes a ping Ping帧 用于心跳检测 收到一个ping帧,必须发送一个Pong帧作为响应,除非已经接收了一个Close帧。掩码标志,如果设置为1,表示需要对数据做掩码处理,出于安全考虑,WebSocket协议规定所有从client到server的数据都要进行掩码处理。
2024-08-09 20:43:09 1075
struts2-core-2.0.11.jar
2011-03-08
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人