摘要: 前言 WaitGroup和channel一样,也是Golang应用开发过程中经常使用的并发控制技术,不过它和channel实现的机制不一样,它是使用信号量来控制的。 使用示例 package main import ( "fmt" "sync" "time" ) func main() { wg : 阅读全文
posted @ 2021-09-16 21:03 独揽风月 阅读(82) 评论(0) 推荐(0) 编辑
摘要: TCP连接可以分为三次握手和四次挥手,握手在建立数据传输前,挥手建立在数据传输完成后。 TCP三次握手 (1)第一次握手:Client将标志位SYN置为1,随机产生一个值seq=J,并将该数据包发送给Server,Client进入SYN_SENT状态,等待Server确认。 (2)第二次握手:Ser 阅读全文
posted @ 2021-09-16 15:21 独揽风月 阅读(117) 评论(0) 推荐(0) 编辑
摘要: 应用场景 tcp连接迁移,比如应用程序要实现平滑重启,就需要将现有的tcp连接迁移到新进程。 先介绍下实现过程,后面的文章会具体介绍这种场景的实现方式。 临时文件tmp.txt的内容为“hello world”。 客户端与服务端建立unix连接后,通过UnixRights将一组打开的文件描述符编码为 阅读全文
posted @ 2021-09-16 11:45 独揽风月 阅读(311) 评论(0) 推荐(0) 编辑