获得徽章 0
- select 用于监听和 channel 有关的 IO 操作,可以同时监听多个 channel
只能用于通道操作,在多个同道间进行选择
包含多个case语句,每一case语句对应一通道操作评论点赞 - TCP标记位
用于确定每一TCP段的目的
SYN:同步标志位,用于建立会话连接,同步序列号;
ACK:确认标志位,对已接收的数据包进行确认;
FIN:完成标志位,已发送完数据,即将关闭连接评论点赞 - Go指针
&取地址,*根据地址取值
一个指针被定义后没有分配到任何变量时,它的值为 nil
var i *int只是声明了一个指针变量a但是没有初始化评论点赞 - #青训营 x 字节后端训练营#
树是由n(n>0)个有限节点组成一个具有层次关系的集合
二叉树是每个节点最多有两个子树的树结构,通常子树被称作“左子树”和“右子树”评论点赞 - #青训营 x 字节后端训练营#
string表示的是一个可变的字节数组
Redis中字符串是动态字符串,是可以修改的字符串
采用预分配冗余空间的方式来减少内存的频繁分配评论点赞 - #青训营 x 字节后端训练营#
UDP协议(用户数据报协议),一种无连接的传输层协议,不需要建立连接就能直接进行数据发送和接收,通常用于视频直播相关。
分布式事务就是指事务的参与者、支持事务的服务器、资源服务器以及事务管理器分别位于不同的分布式系统的不同节点之上。评论点赞 - #青训营 x 字节后端训练营#
黏包: 数据与数据间没有明确分界线,导致不能正确传输数据,客户端发送的多个数据包被当作一个数据包接收
原因: tcp数据传递模式是流模式,在保持长连接的时候可以进行多次的收和发
解决: 将数据包进行封包和拆包操作展开评论点赞 - #青训营 x 字节后端训练营#
TCP服务端程序的处理流程:
1.监听端口2.接收客户端请求建立链接3.创建goroutine处理链接
一TCP客户端进行TCP通信的流程
1.建立与服务端的链接2.进行数据收发3.关闭链接展开评论点赞 - #青训营 x 字节后端训练营#
socket是应用层与TCP/IP协议族通信的中间软件抽象层,
把复杂的TCP/IP协议族隐藏在Socket后面。
TCP协议:传输控制协议/网间协议,是一种面向连接的、可靠的、基于字节流的传输层通信协议。展开评论点赞