socket
来源:互联网 发布:美发预约软件 编辑:程序博客网 时间:2024/05/21 04:21
Java NIO: Channels and Buffers(通道和缓冲区)
标准的IO基于字节流和字符流进行操作的,而NIO是基于通道(Channel)和缓冲区(Buffer)进行操作,数据总是从通道读取到缓冲区中,或者从缓冲区写入到通道中。
Java NIO: Non-blocking IO(非阻塞IO)
Java NIO可以让你非阻塞的使用IO,例如:当线程从通道读取数据到缓冲区时,线程还是可以进行其他事情。当数据被写入到缓冲区时,线程可以继续处理它。从缓冲区写入通道也类似。
Java NIO: Selectors(选择器)
Java NIO引入了选择器的概念,选择器用于监听多个通道的事件(比如:连接打开,数据到达)。因此,单个的线程可以监听多个数据通道。
二.Java NIO中的SocketChannel是一个连接到TCP网络套接字的通道。可以通过以下2种方式创建SocketChannel:
- 打开一个SocketChannel并连接到互联网上的某台服务器。
- 一个新连接到达ServerSocketChannel时,会创建一个SocketChannel。 √ 非阻塞模式 :可以设置 SocketChannel 为非阻塞模式(non-blocking mode).设置之后,就可以在异步模式下调用connect(), read() 和write()
三.Socket:socket是对TCP/IP协议的封装,Socket本身并不是协议,而是一个调用接口(API)。socket是双向通信的。对于Java Socket编程而言,有两个概念,一个是ServerSocket,一个是Socket。服务端和客户端之间通过Socket建立连接,之后它们就可以进行通信了。首先ServerSocket将在服务端监听某个端口,当发现客户端有Socket来试图连接它时,它会accept该Socket的连接请求,同时在服务端建立一个对应的Socket与之进行通信。这样就有两个Socket了,客户端和服务端各一个。
- socket
- socket
- Socket
- Socket
- Socket
- Socket
- Socket
- Socket
- socket
- Socket
- Socket
- Socket
- Socket
- socket
- socket
- socket
- socket
- socket
- 2395:Out of Hay(最小生成树)
- HashMap的实现原理
- jQuery删除,添加节点
- Android API24以上Error inflating class android.support.design.widget.TabLayout
- 关于C里面宏替换的问题
- socket
- 【学习笔记】第一章:Java服务端编程15、Servlet概念详解
- fgets实现行号的统计
- 【数据结构】 MergeSort与QuickSort的详细分析
- IntelliJ IDEA使用(1)——IDEA配置JDK
- 单例模式
- sudo apt-get update 出错 E: Could not get lock /var/lib/apt/lists/lock
- 2017.9.17 function 思考记录
- windows 无法结束进程怎么办?怎样强制结束进程