拿搬东西来解释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 ...
随机推荐
- SOA_环境安装系列5_Oracle ADF安装SOA Extensions(案例)
2015-01-02 Created By BaoXinjian
- PLSQL_闪回操作1_Flashback Query
2014-07-02 Created By BaoXinjian
- pyhton读取json格式的气象数据
原文关于读取pm25.in气象数据的pyhton方法,以及浅析python json的应用 以pm25.in网站数据为例. 1.方法介绍 首先感谢pm25.in提供了优质的空气污染数据,为他们的辛勤劳 ...
- whois配置
$itemRules = array ( 'default' => array ( 'registry_domain_id' => 'Registry Domain ID:(.*?)', ...
- Java线程专栏文章汇总(转)
原文:http://blog.csdn.net/ghsau/article/details/17609747 JDK5.0之前传统线程 Java线程(一):线程安全与不安全 Java线程 ...
- ORACLE 查看数据库中有哪些表
SELECT TABLE_NAME FROM USER_TABLES ORDER BY TABLE_NAME;
- Java如何获取文件编码格式
1:简单判断是UTF-8或不是UTF-8,因为一般除了UTF-8之外就是GBK,所以就设置默认为GBK. 按照给定的字符集存储文件时,在文件的最开头的三个字节中就有可能存储着编码信息,所以,基本的原 ...
- CentOS 6 安装 Python3.5以及配置Django
http://www.jianshu.com/p/6199b5c26725 文/FiveStrong(简书作者)原文链接:http://www.jianshu.com/p/6199b5c26725著作 ...
- Windows程序设计-窗口和消息
本章内容比较少,没有代码类的内容,这里付思维导图一章,看起来比较清晰.
- Webservice测试从头来
一.写WebService 建立java project 建立数据类包 com.parameters.zz 新建Person类 package com.parameters.zz; public cl ...