拿搬东西来解释udp tcpip bio nio aio aio异步
简单理解 tcpip是有通信确认的面对面通信 有打招呼的过程 有建立通道的过程 有保持通道的确认 有具体传输
udp是看到对面的人好像在对面等你 就往对面扔东西
【群主】雷欧纳德
基本上 好比从货车a 运东西到货车b tcpip是建立人手互传的方式
udp是 a货车里搬出的东西直接往b货车的人方向扔 你接成功没有 散架没 我扔的一方不管的
tcp管这个 ip是通道
【群主】雷欧纳德
ip是手语 高速对面 我在等你 或者我要发过来了 这一类的
【群主】雷欧纳德
然后 一次送过去多少东西 就是所谓的帧大小的问题
【群主】雷欧纳德
如果对面的人准备接受一个很大的东西你扔个很小的去 通常会造成一些空消耗
如果反过来 甚至会崩溃
【群主】雷欧纳德
你说好给小的 结果 你传了大的 对面没心里准备 直接脱手了 就是这种情况
【群主】雷欧纳德
而一些解决验证问题的方案 就是 双方都做好随机的准备 以防万一 不会再实际出现物品传输中 有脱手的情况
【群主】雷欧纳德
通信 其实本质就是这么回事了
【群主】雷欧纳德
udp 就简单了 每个包 大小最大是死的 还不大 这边很快的扔 对面适当的接 就这样
【活跃】Aice
理解挺不错的
【群主】雷欧纳德
然后 bio nio aio 大体上 bio就是你这边不管几个人 他那边就一个 也就是一次他只能接你这边一个人的东西 放好了 再接另一个人另一次传的
【群主】雷欧纳德
nio是 有个人占在前排 他负责接所有的东西 但是 他不需要找地方放 而是后面有一排人 等着 前排的这一个人 一转身就把东西交给后面随机某个人 你可以看成就好像后面的人是放东西的放东西 放好了 没事情的人 站到等着接前排东西的人 的队伍里
【群主】雷欧纳德
aio 就是前排是一圈人 而你传东西的自然也是一些人 这样 比如aio的一排站了20个人 你传东西的很多人就随机交给一个站在前排的人
这时候 如果前排的人 离开位置 去放东西 就是普通的aio
如果这个人或者说这排人后面跟nio一样 还有一排人专门干接前排这20个人的转身后放手掉下来的东西 然后后排这些人去放
这就是aio后异步了
拿搬东西来解释udp tcpip bio nio aio aio异步的更多相关文章
- IO复用,AIO,BIO,NIO,同步,异步,阻塞和非阻塞 区别参考
参考https://www.cnblogs.com/aspirant/p/6877350.html?utm_source=itdadao&utm_medium=referral IO复用,AI ...
- Java BIO NIO 与 AIO
回顾 上一章我们介绍了操作系统层面的 IO 模型. 阻塞 IO 模型. 非阻塞 IO 模型. IO 复用模型. 信号驱动 IO 模型(用的不多,知道个概念就行). 异步 IO 模型. 并且介绍了 IO ...
- BIO,NIO与AIO的区别
Java NIO : 同步非阻塞,服务器实现模式为一个请求一个线程,即客户端发送的连接请求都会注册到多路复用器上,多路复用器轮询到连接有I/O请求时才启动一个线程进行处理.Java AIO(NIO.2 ...
- Java的BIO,NIO和AIO的区别于演进
作者:公众号:我是攻城师 前言 Java里面的IO模型种类较多,主要包括BIO,NIO和AIO,每个IO模型都有不一样的地方,那么这些IO模型是如何演变呢,底层的原理又是怎样的呢? 本文我们就来聊聊. ...
- IO复用,AIO,BIO,NIO,同步,异步,阻塞和非阻塞 区别(百度)
如果面试问到IO操作,这篇文章提到的问题,基本是必问,百度的面试官问我三个问题 (1)什么是NIO(Non-blocked IO),AIO,BIO (2) java IO 与 NIO(New IO)的 ...
- (转)IO复用,AIO,BIO,NIO,同步,异步,阻塞和非阻塞 区别
本文来自:https://www.cnblogs.com/aspirant/p/6877350.html?utm_source=itdadao&utm_medium=referral,非常感谢 ...
- IO复用,AIO,BIO,NIO,同步,异步,阻塞和非阻塞 区别
一.什么是socket?什么是I/O操作? 我们都知道unix(like)世界里,一切皆文件,而文件是什么呢?文件就是一串二进制流而已,不管socket,还是FIFO.管道.终端,对我们来说,一切都是 ...
- 关于BIO NIO和AIO的理解
转载自 :http://blog.csdn.net/anxpp/article/details/51512200 1.BIO编程 1.1.传统的BIO编程 网络编程的基本模型是C/S模型,即两个进程间 ...
- 从Socket入门到BIO,NIO,multiplexing,AIO
Socket入门 最简单的Server端读取Client端内容的demo public class Server { public static void main(String [] args) t ...
随机推荐
- html元素的显示和隐藏
div的visibility可以控制div的显示和隐藏,但是隐藏后页面显示空白: style="visibility: hidden;" document.getElementBy ...
- [jQuery]《锋利的jQuery》插件部分总结
/** * <锋利的jQuery>插件部分总结 * * jQuery插件推荐命名:jquery.name.js * * $.fn.extend用于封装对象方法的插件 * $.extend用 ...
- BloomFilter–大规模数据处理利器(转)
BloomFilter–大规模数据处理利器 Bloom Filter是由Bloom在1970年提出的一种多哈希函数映射的快速查找算法.通常应用在一些需要快速判断某个元素是否属于集合,但是并不严格要求1 ...
- nbIoT基础概念
1. 物理信道(L1与L2之间) 上行:PRACH.PUSCH 下行:PBCH.PDCCH.PDSCH 2.逻辑信道(L2与L3之间) CCCH.DCCH.DTCH 3.信令(L3与NAS层之间) D ...
- [Flex] IFrame系列 —— 在flex的web应用中嵌入html的方法
在flex的web应用中,我们往往必须有嵌入html的需求,这时候你会发现IFrame很有用! flex而且可以和html中的JavaScript进行交互,flex可以通过iframe调用到html中 ...
- java中传递数组的写法
var arr=["110","120","119"]; //如果浏览器不支持JSON,就使用json2.js,json2.js的源码放在最 ...
- [转载]python中将普通对象作为 字典类(dict) 使用
目前我知道的有两种方法: 1 定义的类继承dict类 例如 class A(dict): pass a = A() a['name'] = 12 2 给自定义的类添加 __setitem__() __ ...
- 100. Same Tree(Tree)
/** * Definition for a binary tree node. * public class TreeNode { * int val; * TreeNode left; * Tre ...
- 查看用户的SQL执行历史
程序开发少不来SQL,基本都是基于SQL开发,程序仅仅起一个流程控制的作用.但是数据库本身存在许多内置的视图或者内置的表,如果打算研究SQL执行的效率已经SQL执行的历史记录,通过这些视图可以知道. ...
- struts2+hibernate+poi导出Excel实例
本实例通过struts2+hibernate+poi实现导出数据导入到Excel的功能 用到的jar包: poi 下载地址:http://poi.apache.org/ 根据查询条件的选择显示相应数据 ...