BIO的服务器与多个用户连接(多线程实现)

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.OutputStream;
import java.io.OutputStreamWriter;
import java.io.Writer;
import java.net.ServerSocket;
import java.net.Socket;
import java.util.Scanner;
/**  
* 类说明  :BIO一个服务器与多个用户连接
* @author 郭莹棋 
* @date 2018年10月25日
*/
public class ServerSocketGy {
public static void main(String[] args) throws Exception {
    int post = 2222;
    ServerSocket serve = new ServerSocket(post);
    while(true) {
        Socket socket = serve.accept();
        /*Test test = new Test(socket);
        Thread thread = new Thread(test);
        thread.start();*/
        new Thread(new Test(socket)).start();
    }
}
}
class Test implements Runnable   {
    Socket socket;
    public Test(Socket socket) {
        this.socket = socket;
    }
    public void run() {
    try { 
        Scanner in = new Scanner(socket.getInputStream());
        OutputStream os = socket.getOutputStream(); 
    while (in.hasNext()) {
        String s = in.nextLine();
        System.out.println("客服端发来:"+s);      
        os.write("服务端已收到".getBytes());
        os.close();
        
    }
    
    } catch (IOException e) {
        e.printStackTrace();
    }
    
    }
}

你可能感兴趣的:(BIO的服务器与多个用户连接(多线程实现))