Java网络编程中的通道与就绪选择
1. 通道概述
通道(Channels)用于在缓冲区和各种 I/O 源(如文件、套接字、数据报等)之间移动数据块。通道类的层次结构较为复杂,有多个接口和许多可选操作。但在网络编程中,有三个重要的通道类: SocketChannel 、 ServerSocketChannel 和 DatagramChannel 。对于目前讨论的 TCP 连接,主要使用前两个类。
2. SocketChannel
SocketChannel 类用于对 TCP 套接字进行读写操作。读写数据时,数据必须编码为 ByteBuffer 对象。每个 SocketChannel 都关联一个对等的 Socket 对象,可用于高级配置,但在使用默认选项的应用程序中,此要求可忽略。
2.1 连接操作
SocketChannel 类没有公共构造函数,而是通过两个静态 open() 方法创建新对象:
public static SocketChannel open(SocketAddress remote) throws IOException
public static SocketChannel open() throws IOException
超级会员免费看
订阅专栏 解锁全文

551

被折叠的 条评论
为什么被折叠?



