案例要求:
- 编写一个 NIO 入门案例,实现服务器端和客户端之间的数据简单通讯(非阻塞)(客户端写 服务端读)
- 目的:理解 NIO 非阻塞网络编程机制
NIOClient.java
import java.io.IOException;
import java.net.InetSocketAddress;
import java.nio.ByteBuffer;
import java.nio.channels.SocketChannel;
import java.util.Scanner;
/**
* 客户端
*/
public class NIOClient {
public static void main(String[] args) throws IOException {
// 创建SocketChannel 并绑定地址和端口
SocketChannel socketChannel = SocketChannel.open();
// 设置非阻塞
socketChannel.configureBlocking(false);
// 提供 服务端的ip和端口
InetSocketAddress inetSocketAddress = new InetSocketAddress("127.0.0.1", 5758);
// 连接
socketChannel.connect(inetSocketAddress);
// 判断连接状态
while (!socketChannel.finishConnect()) {
}
System.out.println("客户端连接成功。。。");
// 发送数据
System.out.print("请输入要发送的数据:");
Scanner scanner = new Scanner(System.in);
while (scanner.hasNextLine()) {
String nextLine = scanner.next