在java基础课程中,IO流,多线程以及网络编程都属于java高级部分的内容,这部分内容虽然不算复杂,不难以理解,但是在学习和应用中往往要求我们将它们一起理解、运用,因此常常会让我们感到不知从何处下手,那么,我们可以通过一个简易的多人聊天室的项目,来综合运用这部分知识点,帮助我们更好地掌握和理解这部分知识
package com.softeem.TalkRoom.server;
/**
* 服务器,用于接受客户端传来的消息并将其转发给所有的其他客户端
*/
import java.io.IOException;
import java.net.ServerSocket;
import java.net.Socket;
import java.util.ArrayList;
public class Server extends Thread {
//创建一个存放链接用户的集合
static ArrayList<Socket> list = new ArrayList<>();
private Socket s;
public Server(Socket s){
this.s = s;
}
public void run(){
//接受一个客户端发来的消息并转发给所有客户端
new ChatServer(s).start();
}
public static void main(String[] args) throws IOException {
//占据一个服务器端口
ServerSocket ss = new ServerSocket(1919);
System.out.println("服务器启动...");
//开始监听
while (true){
Socket s = ss.accept();
list.add(s);
System.out.println("客户端连接成功:"+Tools.get