上一小节,我们通过一张图简单描述了数据帧从产生到发送出去的整体流程;
那么,本小节我们从源码角度去分析一下数据帧是如何产生的,以及存储到了什么地方。
也就是对下图中的红色框中的原理进行说明:
![在这里插入图片描述](https://img-blog.csdnimg.cn/20210628054735444.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3UwMTE1ODI5MjI=,size_16,color_FFFFFF,t_70#pic_center)
假设客户端调用的请求方法是SayHello, 从main.go文件中开始,通过下面的调用链,进入数据帧的创建入口:
main.go→SayHello→SayHello→Invoke →invoke →SendMsg→sendMsg→Write
进入grpc-go/internal/transport/http2_client.go文件中的Write方法里:
1.