阅读背景:

Java传统IO / NIO基础知识

来源:互联网 

1.IO的基本操作

只线程情况下只能有一个客户端的连接

package xss.netty.basicio;

import java.io.IOException;
import java.io.InputStream;
import java.net.ServerSocket;
import java.net.Socket;

/**
 * java 原生的IO处理方式
 * IO Server
 */
public class IOMainServerTest {

    public static void main(String[] args) throws Exception {
        ServerSocket serverSocket=new ServerSocket(9999);
        System.out.println("server start.......");
        while (true){
            // 会阻塞client的连接,只到client的消息处理完
            //也就是说一次只能处理一个客户端的请求
            Socket socket=serverSocket.accept();
            System.out.println("new client connect");
            handler(socket);
        }
    }

    public static  void handler(Socket socket) {
        try{
            InputStream inputStream=socket.getInputStream();
            byte[] readBytes=new byte[1024];
            while(true){
                int reads =inputStream.read(readBytes);//阻塞数据的读取
                if(reads != -1){
                    System.out.println("message ->"+new String(readBytes,0,reads));
                }else{
                    break;
                }
            }
        }catch (Exception ex){
            ex.printStackTrace();
        }finally {
            try {
                System.out.println("socket closed.");
                socket.close();
            } catch (IOException e) {
                e.printStackTrace();
            }
        }

    }

}
package



你的当前访问异常,请进行认证后继续阅读剩余内容。

分享到: