一个非常适合Java初学者学习的聊天室,个人感觉还不错,就分享出来吧!如果有需要的话就在下方留言邮箱,看到的话第一时间会发给大家!不喜勿喷。 下载链接在文章底部

界面如下

chatdemo.png

myMain_Server类:

public class myMain_Server {
	static Logger logger = Logger.getLogger(myMain_Server.class);
	static boolean if_usr_sql;
	public static void main(String[] args) throws  ClassNotFoundException {
		ServerSocket serverSocket = null;
		try {
			//是否使用数据库保存数据(用户注册信息 , [聊天消息记录]) ,否则用 文件保存用户注册信息  ,聊天记录有日志文件自带了  不重复
			// 若要使用需要参加 名为"cxp"的数据库  ,可通过dao.sql 下的jdbc.properties  进行配置
			if_usr_sql = false;
			logger.info("服务器启动");
			if (if_usr_sql) {
				Class.forName("dao.sql.SQL_Record");
				Class.forName("dao.sql.SQL_Login_Enter");
			}else {		//userdata.properties 如果不存在就创建
				File file = new File("userdata.properties");
				if (!file.exists()) {
					file.createNewFile();
				}
				logger.info("userdata.properties 已存在 放心使用");
			}
			serverSocket = new ServerSocket(3389);
			while(true) {
				Socket socket = serverSocket.accept();
				Thread thread = new Thread(new Core(socket));
				thread.start();
				logger.debug("一个新的scoket---------------------------");
			}
		} catch (IOException e) {
			// TODO 自动生成的 catch 块
			try {
				serverSocket.close();
			} catch (IOException e1) {
				// TODO 自动生成的 catch 块
				e1.printStackTrace();
			}
		}				
	}
}

myMain_Client类:

public class myMain_Client {
	static myMain_Client obj;
	static Enter enter;
	public  myMain_Client(boolean auto_Enter_flag) {
		Socket socket;
		try {
			System.err.println("new了一个 myMain_Client");
			socket = new Socket("127.0.0.1",3389);
			Manage.setSocket(socket);
			new Thread(new Manage()).start();
			enter = new Enter(socket, auto_Enter_flag);		
		} catch (IOException e) {
			// TODO 自动生成的 catch 块
			e.printStackTrace();
			System.out.println("连接失败");
		}
	}
	public static void main(String[] args) {
		 obj = new myMain_Client(true);
	}
}

蓝奏云下载