background image

java 聊天程序源代码

服务端:

import java.io.*;
import java.net.*;
import java.util.*;

public class ChatServer {
 boolean stat = false;
 ServerSocket ss = null;
 
 List<Client> clients = new ArrayList<Client>();//用于存客户端
 
 public static void main(String[] args) {
  new ChatServer().start();
 }
 
 public void start(){
  try {
   ss = new ServerSocket(8888);
   stat = true;
  } catch(BindException e){  //Sever 端已经运行,当重复运行时抛异常
   System.out.println("端口正在使用中。。。。");
   System.out.println("请关掉相关程序并重新运行服务器!"); //还会抛别的异常,所以直接
关闭窗口
   System.exit(0);
  } catch(IOException e) {
   e.printStackTrace();
  }
  
  try{
   while(stat){
    Socket s = ss.accept();
System.out.println("a client connected!" );  //测试语句写在最左边,以后没用可以删除或注

    Client c = new Client(s);    //每建立一个客户端,就 new 一个客户端对象,启动一个线

    new Thread(c).start();
    clients.add(c);  //勿忘写,将每个客户端加入到容器里