本文共 1204 字,大约阅读时间需要 4 分钟。
import java.io.IOException;import java.io.InputStream;import java.net.ServerSocket;import java.net.Socket;public class OioServer1 { @SuppressWarnings("resource") public static void main(String[] args) throws Exception { // 创建socket服务,监听10101端口 ServerSocket server = new ServerSocket(10101); System.out.println("服务器启动!"); while (true) { // 获取一个套接字【阻塞】 final Socket socket = server.accept(); System.out.println("一个新客户端连接!"); // 单线程业务处理 handler(socket); } } /** * 读取数据 */ public static void handler(Socket socket) { try { byte[] bytes = new byte[1024]; InputStream inputStream = socket.getInputStream(); while (true) { // 读取数据【阻塞】 int read = inputStream.read(bytes); if (read != -1) { System.out.println(new String(bytes, 0, read)); } else { break; } } } catch (Exception e) { e.printStackTrace(); } finally { try { System.out.println("socket关闭"); // 必须将第1个客户端关闭,第2个客户端才可以连进来。否则只能为第1个客户端服务 socket.close(); } catch (IOException e) { e.printStackTrace(); } } }}
转载地址:http://hcfqa.baihongyu.com/