拿搬东西来解释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 ...
随机推荐
- VS2013 越来越慢
Q.VS2013 原来启动只要大概 一两秒的时间,现在启动最少也得十秒以上.而且打开项目也变得很慢了!求解决方案. 清理一下缓存就好了.devenv.exe /resetuserdata 第二:装了v ...
- Hbase伪分布式
其实我就是要让数据存储在hdfs上而已........ 多配置点东西就好了,在hbase-site.xml中加入: <configuration> <property> < ...
- hadoop-spark-hive-hbase配置相关说明
1. zookeeper 配置 cp app/ochadoop-och3.0.0-SNAPSHOT/zookeeper-3.4.5-cdh5.0.0-beta-2-och3.0.0-SNAPSHOT/ ...
- python (18)在linux中如何实现定时发送邮件
最近要用到,定时发送邮件功能: 如何定时,当然要用到linux中crontab了 如下的代码能够定时发送邮件 #!/usr/bin/env python # -*- coding=utf-8 -*- ...
- Mac下finder中无法关闭的小条
就是这个恶心的小东西,根本无法关闭.其实就是在finder中无意中输入了中文导致的(不是按Alt+F , 就是打开finder然后输入中文) 可以通过继续输入中文然后按esc退出.也可以用下面的设置尽 ...
- Eclipse Tomcat配置/管理/调试指南
从myeclipse转到Eclipse最不方便的之一莫过于Web项目部署了,老是在想怎么不能把myeclipse的那个移植过来,或者有没有高人能按照Myeclipse开发一个,非常遗憾. 原版的Ecl ...
- MYSQL C API : mysql_init()
MYSQL * mysql_init(MYSQL *mysql); // 初始化一个MYSQL 连接的实例对象 void mysql_close(MYSQL *sock); // 释放一个MYSQL ...
- springmvc 中RequestMapping注解的使用
1.RequestMapping注解既可以修饰方法,又可以修饰类型,类型指定的url相对于web跟路径,而方法修饰的url相对于类url: 2.RequestMapping的几个属性: value:用 ...
- Oracle自增列
一.介绍: 在设计数据库时,有时候希望表的某一列为自增列,例如编号,本文就介绍如何在oracle数据库中实现自增列,需要两个步骤: 1)构建序列(sequence) 在oracle中sequence就 ...
- 安装jdk java -version 不是自己所需要的版本
原服务器安装有1.4的jdk,应用需要安装1.6的jdk.安装完毕后在/etc/profile里配置1.6jdk的环境变量后使用命令java -version显示还是原来的1.4的版本. 解决办法: ...