⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 public.java

📁 用java开发的QQ管理系统
💻 JAVA
字号:
package com.zlf.qqserver;

import java.awt.Font;
import java.io.IOException;
import java.io.ObjectOutputStream;
import java.net.ServerSocket;
import java.util.ArrayList;
import java.util.Enumeration;
import java.util.HashMap;
import java.util.Hashtable;
import java.util.Iterator;
import java.util.Set;

import javax.swing.UIManager;
import javax.swing.plaf.FontUIResource;

import com.zlf.dao.DaoFactory;
import com.zlf.dao.UserDao;
import com.zlf.qq.pub.DataPacket;
import com.zlf.qqserver.servermngpanel.toppanel.*;

public class Public {
	public static boolean stop = false;// 控制线程的终止

	public static boolean bind = false;// 绑定标志

	public static ServerSocket serverSocket = null;

	public static Hashtable mySocketInfo = new Hashtable();// 保存客户端上线用户的线程,socket,输入输出流

	private static UserDao userDao=DaoFactory.newInstance().createUserDao();
	
	public static void setGlobalFont(String font) {
		// 设置字体名称,样式,大小
		Font fontRes = new Font(font, Font.PLAIN, 12);

		for (Enumeration keys = UIManager.getDefaults().keys();keys.hasMoreElements();) {
			Object key = keys.nextElement();
			Object value = UIManager.get(key);
			if (value instanceof FontUIResource) {
				UIManager.put(key, new FontUIResource(fontRes));
			}
		}
	}
	
	
	
	//服务器关闭方法
	public static void serverClose(){
		
		TopPanel tp = new TopPanel();
		tp.writeLog();
		// 关闭服务,发包到所有客户端,告诉服务器已关闭
		HashMap tempData = new HashMap();
		tempData.put("data", new String("服务器已关闭,程序将自动退出!"));
		DataPacket serverClosePacket = new DataPacket(
				DataPacket.server_close_type, DataPacket.Server_Id,
				"", tempData);
		// 找到所有用户端的输出流,发送包到客户端
		Set set = (Set) Public.mySocketInfo.keySet();
		Iterator iter = set.iterator();
		String[] QQ_id = new String[set.size()];
		//System.out.println(set.size());
		int i = 0;
		while (iter.hasNext()) {
			
			QQ_id[i] = (String) iter.next();
			
			//System.out.println(QQ_id[i]);
			ArrayList a = (ArrayList) Public.mySocketInfo
					.get(QQ_id[i]);
			ObjectOutputStream tempOos = (ObjectOutputStream) a
					.get(2);// 取出list里的输出流
			try {
				// 发送服务关闭包
				tempOos.writeObject(serverClosePacket);
				tempOos.flush();
			} catch (IOException e1) {
				e1.printStackTrace();
			}
			//将用户在线标志改为0
			userDao.updateOnLine(0, QQ_id[i]);
			System.out.println("update");
			i++;
		}
	}
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -