在开始之前,先给大家做一些知识点的普及,理解后面一些可能用到的知识点概念
1、流(Stream)
计算机中的流其实是一种信息的转换。于某一对象,通常把对象接收外界的信息输入称为输入流,把对象向外输出信息为输出流,合称为输入/输出流(I/O Stream)。
对象间进行数据交换时总是先将数据转换为某种形式的流,再通过流的传输,到达目的对象后再将流转换为对象数据。所以,可以把流看作是一种数据的载体,通过它可以实现数据交换和传输。
2、连接(Connection)
3、阻塞(Block)、非阻塞(Non-block)
阻塞调用是指调用结果返回(或者收到通知)之前,当前线程会被挂起,即不继续执行后续操作;
非阻塞调用指在不能立刻得到结果之前,该调用不会阻塞当前线程。
4、同步(Synchronous)、异步(asynchronous)
所谓同步,就是在发出一个功能调用时,在没有得到结果之前,该调用就不返回,同时其它线程也不能调用这个方法。
异步呢,就是发出一个功能调用后,不管没有结果的返回,都不影响当前任务的继续执行。即两个生产线相互独立。
以上两个问题,阻塞非阻塞和同步异步,其实非常相似,但主要区别在于角度不同,同步异步,是对于被调用者而言的;而阻塞非阻塞,则是对调用者而言的。
5、 IP地址 (IP Address) 四段0~255之间的十进制数字,如常见的内网地址192.168.0.1或某公网地址114.55.92.xxx
6、字节顺序(Bytes Order)
字节顺序是指占内存多于一个字节类型的数据在内存中的存放顺序,通常有小端、大端两种字节顺序。
7、带外数据(Outband Data)
带外数据,也称为TCP紧急数据,是相连的每一对流套接口间一个逻辑上独立的传输通道。带外数据是独立于普通数据传送给用户的。
C语言网提供由在职研发工程师或ACM蓝桥杯竞赛优秀选手录制的视频教程,并配有习题和答疑,点击了解:
一点编程也不会写的:零基础C语言学练课程
解决困扰你多年的C语言疑难杂症特性的C语言进阶课程
从零到写出一个爬虫的Python编程课程
只会语法写不出代码?手把手带你写100个编程真题的编程百练课程
信息学奥赛或C++选手的 必学C++课程
蓝桥杯ACM、信息学奥赛的必学课程:算法竞赛课入门课程
手把手讲解近五年真题的蓝桥杯辅导课程