1、ASCII 是一种7-bit字符。很多比‘ 奇偶检验’精巧的模式被开发出来,但是本质上都是8-bit二进制数据转化成7-bit ASCII 格式。本质上8-bit数据是7-bit数据的延伸。
2、https://geekdaxue.co/books/Network-programming-with-Go-zh
http://books.studygolang.com/NPWG_zh/
https://www.rfc-editor.org/rfc/rfc1832
3、https://www.topgoer.com/%E7%BD%91%E7%BB%9C%E7%BC%96%E7%A8%8B/
4、io.EOF、accept 会阻塞。
5、以太网规定,一组电信号构成一个数据包,叫做”帧”(Frame)。每一帧分成两个部分:标头(Head)和数据(Data)。其中”标头”包含数据包的一些说明项,比如发送者、接受者、数据类型等等;”数据”则是数据包的具体内容。”标头”的长度,固定为18字节。”数据”的长度,最短为46字节,最长为1500字节。因此,整个”帧”最短为64字节,最长为1518字节。如果数据很长,就必须分割成多个帧进行发送。
6、那么,发送者和接受者是如何标识呢?以太网规定,连入网络的所有设备都必须具有”网卡”接口。数据包必须是从一块网卡,传送到另一块网卡。网卡的地址,就是数据包的发送地址和接收地址,这叫做MAC地址。每块网卡出厂的时候,都有一个全世界独一无二的MAC地址,长度是48个二进制位,通常用12个十六进制数表示。前6个十六进制数是厂商编号,后6个是该厂商的网卡流水号。有了MAC地址,就可以定位网卡和数据包的路径了。
7、根据IP协议发送的数据,就叫做IP数据包。IP数据包也分为”标头”和”数据”两个部分:”标头”部分主要包括版本、长度、IP地址等信息,”数据”部分则是IP数据包的具体内容。IP数据包的”标头”部分的长度为20到60字节,整个数据包的总长度最大为65535字节。
8、字节编码和字符编码
9、详解golang net之transport - charlieroro - 博客园
https://www.bilibili.com/video/BV1GR4y1Z7uQ/
https://www.bilibili.com/video/av71067087/
zinx/README-CN.md at master · aceld/zinx · GitHub
深入理解网络IO复用并发模型 https://mp.weixin.qq.com/s/cSfv3vpm7jZLKapdDG8fmw
IO多路复用——深入浅出理解select、poll、epoll的实现 https://zhuanlan.zhihu.com/p/367591714
详解Go语言I/O多路复用netpoller模型 https://cloud.tencent.com/developer/article/1787492
10、go netpoll
探索Go的netpoller:netpoller网络模型与I/O多路复用技术 | SingleX | 倘若一成不变,何以激荡人心。
11、"localhost"地址是:0:0:0:0:0:0:0:1,可以缩短到::1。