网络通信
从网络通信的本质开始慢慢讲起, 分别会将到linux的select,poll以及epoll.以及netty. 最终会手撕一个高性能网络框架.
一条只会编程的咸鱼
沉迷于网络编程的猿类
展开
-
【网络编程】3.手写TTCP
TTCP简介TTCP是一种应用层协议。主要用途:检测TCP连接的吞吐量。如何实现:客户端向服务端发送一个包,服务端收到返回确认信息(ack),当客户端收到服务端确认信息后,继续发送… 循环指定次数之后,由程序计算出带宽。公式:带宽 = length * number / time。TTCP协议这里关于传输协议,可以设计两个结构体typedef struct SessionMessage{ int32_t number; //传输次数 int32_t length;原创 2020-05-16 14:08:05 · 606 阅读 · 0 评论 -
【网络编程】2.浅谈TIME_WAIT
谈谈TIME_WAIT在谈TIME_WAIT之前,我们先回顾一下TCP的四次挥手。1. TCP四次挥手TCP终止连接时,主机1会先发送FIN包,主机2进入CLOSE_WAIT状态,并且回复一个ACK。此时主机2的应用程序会通过read函数获取到EOF(End Of File),主机2可以调用close或者shutdown函数发起主动关闭操作,close或者shutdown函数会触发tcp协...原创 2020-01-22 13:47:23 · 273 阅读 · 0 评论 -
【网络编程】1.开篇序
开篇序:今天开始网络编程的修仙之路。首先简单的聊聊如何学习网络编程,换句话讲,网络编程应该掌握哪些知识。第一部分:协议举个例子,HTTP,TCP,UDP等等。人与人交流需要规则,所以人类发明了语言。同样,机器与机器交流,也需要制定规则,则这种规则被称为协议。我们通常说的网络编程,大部分情况都是在基于TCP/UDP协议进行编写的。在协议这块,小编强烈推荐一本书,【TCP/IP详解 卷一】S...原创 2020-01-21 09:28:11 · 207 阅读 · 0 评论