网络
像狗的猫
这个作者很懒,什么都没留下…
展开
-
AIO模型介绍及代码实现
1.AIOAIO模型是Java中提供的异步非阻塞网络IO模型,如下图所示,用户进程进行系统调用后,可以处理其他逻辑,无论内核数据是否准备好,都会直接返回给用户进程,进程不会阻塞。数据准备好,内核直接复制数据到用户空间,内核向进程发送通知。内核向用户空间拷贝数据的工作是由内核完成的而不是应用进程。AIO需要一个连接注册读写事件和回调方法,当进行读写操作时,直接调用API的read和write方法。对应操作系统来说, 当有流数据可读时, 操作系统会将流传入到read方法的缓冲区, 然后回调相关的 Com原创 2020-08-03 16:37:20 · 1362 阅读 · 0 评论 -
TCP传输控制协议知识总结
1.TCP协议:传输控制协议1.1TCP协议的特点①面向连接。TCP提供客户端与服务器端的连接。②TCP的连接是点对点的。③可靠性。当TCP向另一端发送数据时,要求对方放回一个确认。如果没有收到对方的确认,TCP自动重传数据。④有序性。TCP通过给所发送的数据的每一个字节关联序列号进行排序,通过TCP连接传输的数据,无差错,不丢失,不重复。⑤面向字节流,并且提供流量控制。TCP总是告诉对方它能接收多少字节的数据(窗口)。⑥全双工。既可以发送数据也可以接收数据。1.2TCP首部格式源端口和原创 2020-07-27 15:49:35 · 461 阅读 · 0 评论 -
BIO代码实现及原理
1.相关概念1.1阻塞IO和非阻塞IO1.2同步IO和异步IO2.BIO2.1BIO介绍2.2代码实现2.3BIO通信模型以及缺点1.相关概念在操作系统中,程序运行的空间分为内核空间和用户空间。应用程序都是运行在用户空间的,所以它们能操作的数据也都在用户空间。IO分两阶段(一旦拿到数据后就变成了数据操作,不再是IO):阶段1.数据准备阶段,等待数据准备好,到达内核缓冲区(内核空间)阶段2.内核空间复制数据到用户进程缓冲区(用户空间)阶段1.1阻塞IO和非阻塞IO阻塞/非阻塞关注的是程序在等待.原创 2020-07-25 21:25:54 · 1275 阅读 · 0 评论