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