0%

06-网络编程-第三节

一、网络通信基本常识

wireshark 有一本书

操作系统将 TCP 那些细节全部(拆包之类的,传输层以下的所有都封装)封装在 Socket 中了。开发人员只需要关注ip 和端口号就行了。

web服务,比较适合 短连接,这种可以降低服务器的压力。长连接适合连接数不多,并且请求比较频繁的请求。

二、BIO 详解

BIO 是啥?阻塞式 IO,B 是阻塞 Blocking 的意思,比如 read 方法读取网络数据,如果没有数据,阻塞式网络编程就会阻塞住。

NIO : IO 多路复用

相对的,AIO 是异步 IO,read 和 write 操作都作为系统调用

ServerSocket.accept() ,socket.connect 、InputStream.readUTF 等方法都是阻塞方法。

三、NIO详解

NIO ,这个 N 可以作为 New 解释,或者做 no-blocking 解释。

BIO 面向流,阻塞式的

NIO (IO多路复用)面向缓冲区,非阻塞的,一个线程可以服务多个服务端。

BIO 的效率比 NIO 的效率是要高的。

NIO 三大组件:

  • Selector

  • Channel

  • Buffer

NIO 看了30分钟,后续的就没看了,看得有点蒙,后续再继续

谢谢你的鼓励