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

📄 servertread.java

📁 企业级的即时通软件。。java语言写的 这是服务端部份。
💻 JAVA
📖 第 1 页 / 共 2 页
字号:
package edu.sccp.chat.server;


import java.io.IOException;

import java.io.ObjectInputStream;
import java.io.ObjectOutputStream;

import java.net.Socket;

import java.util.Iterator;
import java.util.Set;
import java.util.StringTokenizer;
import java.util.Vector;




import edu.sccp.chat.bo.DepartmentBO;
import edu.sccp.chat.bo.UserBO;
import edu.sccp.chat.frame.MainGUI;


public class ServerTread extends Thread{

	Socket socket;
	
	
    public static Vector vcetor=DepartmentBO.selectdept();
    public void run()
     {
	   while(true)
	    {
	     try   
	      {   
	       socket=MainGUI.serverSocket.accept(); 
	      
	      }   
	      catch(IOException   ex)   
	      {   
	       
	      }   
	     //创建客户端线程,一个线程对应一个客户端   
	     Client c=new Client(socket);
	     c.start();
	    }
	}
	
	class Client extends Thread
    {  
		public  ObjectInputStream br;   
	    public  ObjectOutputStream ps;
		String name;
       Socket socket;   
       public Client(Socket s)   
       {   
         try   
        {   
           socket=s;
           ps =new ObjectOutputStream(socket.getOutputStream()); 
           br =new ObjectInputStream(socket.getInputStream());
        }   
        catch(IOException   ex)   
        {   
        }
       }   
       public   void   run()   
        {   
          String info = null;   
          while(true)   
          {   
           try   
           {   
             try {
				info=(String) br.readObject();
			} catch (ClassNotFoundException e) {
				// TODO Auto-generated catch block
				br.close();
			}   
             if(info.equals("停止服务"))   
               break;
             //以":"来分割接收到的字符串   
             StringTokenizer st=new StringTokenizer(info,":");   
             String keyword=st.nextToken();   
             //处理客户端传来的各种信息,"CONNECT"表示客户端发出   
             //的连接请示,"MSG"表示客户端发出了聊天消息,"QUIT"   
             //表示客户端要求退出   
             if(keyword.equals("MasterLogin"))   
               {   
                 String name=st.nextToken();   
                 String pwd=st.nextToken(); 
                 Vector vector=UserBO.masterLogin(name,pwd);
                  masterLogin(vector);   
               }
               else if(keyword.equals("UserLogin"))
                {
            	   String name=st.nextToken();   
                   String pwd=st.nextToken(); 
                   Vector vector=UserBO.userLogin(name,pwd);
                   userLogin(vector);
                }else if(keyword.equals("exit"))//用户退出时
                {
                	Vector vector = null;
					try {
						vector = (Vector) br.readObject();
					} catch (ClassNotFoundException e) {
						// TODO Auto-generated catch block
						e.printStackTrace();
					}
                	exitUser(vector);
                }else if(keyword.equals("所有用户信息"))
                {
                	Vector vector1=UserBO.userAllInfo();
                	Vector vv=new Vector();
                	vv.addElement("所有用户信息");
                	vv.addElement(vector1);
                	ps.writeObject(vv);
                }else if(keyword.equals("群聊"))
                {
                	String str = null;
					try {
						str = (String) br.readObject();
					} catch (ClassNotFoundException e) {
						// TODO Auto-generated catch block
						e.printStackTrace();
					}
					Set keys =MainGUI.soceketMap.keySet();
		 			Iterator key_iter = keys.iterator();
		 			while(key_iter.hasNext()){//发给其他在线用户
		 				ObjectOutputStream tempoos = (ObjectOutputStream)MainGUI.soceketMap.get(key_iter.next());
		 				try {
		 					Vector vvv=new Vector();
         					vvv.addElement("群聊");
         					vvv.addElement(str);
         					tempoos.writeObject(vvv);
        					ps.flush();
						} catch (IOException e1) {
							// TODO Auto-generated catch block
							e1.printStackTrace();
						}
         			}
                }
                else if(keyword.equals("公司公告"))
                {
                	Vector v=new Vector();
                	v.addElement("公司公告");
                	v.addElement(DepartmentBO.selectdept());
                	v.addElement(DepartmentBO.selectCompany());
                	ps.writeObject(v);
                }else if(keyword.equals("部门公告"))
                {
                	String dept = null;
                	try {
						dept = (String)br.readObject();
					} catch (ClassNotFoundException e) {
						// TODO Auto-generated catch block
						e.printStackTrace();
					}
					String st1=DepartmentBO.selectdeptgonggao(dept);
					Vector v1=new Vector();
					v1.addElement("部门公告");
					v1.addElement(st1);
					ps.writeObject(v1);
                }
                else if(keyword.equals("修改部门公告"))
                {
                	Vector dept = null;
                	try {
						dept=(Vector)br.readObject();
					} catch (ClassNotFoundException e) {
						// TODO Auto-generated catch block
						e.printStackTrace();
					}
					boolean fal=DepartmentBO.alterMessageData("t_dept",(String)dept.get(1),(String)dept.get(0));
					if(fal)
					{
						Vector v2=new Vector();
						v2.addElement("修改部门公告");
						v2.addElement("yes");
						ps.writeObject(v2);
					}
					else
					{
						Vector v2=new Vector();
						v2.addElement("修改部门公告");
						v2.addElement("no");
						ps.writeObject(v2);
					}
                }
                else if(keyword.equals("部门名称"))
                {
                	Vector v3=new Vector();
                	v3.addElement("部门名称");
                	v3.addElement(DepartmentBO.selectdept());
                	ps.writeObject(v3);
                }else if(keyword.equals("部门信息"))
                {
                	String dept = null;
                	try {
						dept = (String)br.readObject();
					} catch (ClassNotFoundException e) {
						// TODO Auto-generated catch block
						e.printStackTrace();
					}
					Vector s1=DepartmentBO.deptInfo(dept.trim());
					Vector v4=new Vector();
					v4.addElement("部门信息");
					v4.addElement(s1);
					ps.writeObject(v4);
                }
                else if(keyword.equals("修改部门信息"))
                {
                	Vector dept = null;
                	try {
						dept=(Vector)br.readObject();
					} catch (ClassNotFoundException e) {
						// TODO Auto-generated catch block
						e.printStackTrace();
					}
					int i=DepartmentBO.upd((String)dept.get(0),(String)dept.get(1),(String)dept.get(2),(String)dept.get(3),(String)dept.get(4),(String)dept.get(5));
					if(i==1)
					{
						Vector v2=new Vector();
						v2.addElement("修改部门信息");
						v2.addElement("yes");
						ps.writeObject(v2);
					}else
					{
						Vector v2=new Vector();
						v2.addElement("修改部门信息");
						v2.addElement("no");
						ps.writeObject(v2);
					}
                }else if(keyword.equals("修改自身密码"))
                {
                	Vector pwd=new Vector();
                	try {
						pwd=(Vector)br.readObject();
					} catch (ClassNotFoundException e) {
						// TODO Auto-generated catch block
						e.printStackTrace();
					}
					boolean fal=UserBO.updatePassword1((String)pwd.get(0),(String)pwd.get(1),(String)pwd.get(2));
					if(fal)
					{
						Vector v2=new Vector();
						v2.addElement("修改自身密码");
						v2.addElement("yes");
						ps.writeObject(v2);
					}else
					{
						Vector v2=new Vector();
						v2.addElement("修改自身密码");
						v2.addElement("no");
						ps.writeObject(v2);
					}
                }else if(keyword.equals("检测ID"))
                {
                	String id = null;
                	try {
						id=(String)br.readObject();
					} catch (ClassNotFoundException e) {
						// TODO Auto-generated catch block
						e.printStackTrace();
					}
					String [] userinfo=UserBO.userhead(id);
					if(userinfo[0]!="F"){
						Vector v2=new Vector();
						v2.addElement("检测ID");
						v2.addElement("no");
						ps.writeObject(v2);
					}else{
						Vector v2=new Vector();
						v2.addElement("检测ID");
						v2.addElement("yes");
						ps.writeObject(v2);
					}
                }else if(keyword.equals("插入员工"))
                {
                	Vector user=new Vector();
                	try {
                		user=(Vector)br.readObject();
					} catch (ClassNotFoundException e) {
						// TODO Auto-generated catch block
						e.printStackTrace();
					}
					int i=UserBO.insertInfo((String)user.get(0),(String)user.get(1),(String)user.get(2),(String)user.get(3),(String)user.get(4),(String)user.get(5),(String)user.get(6),(String)user.get(7),(String)user.get(8),(String)user.get(9),(String)user.get(10));
					if(i==1)
					{
						Vector v2=new Vector();
						v2.addElement("插入员工");
						v2.addElement("yes");
						ps.writeObject(v2);
					}else
					{
						Vector v2=new Vector();
						v2.addElement("插入员工");
						v2.addElement("no");
						ps.writeObject(v2);
					}
                }else if(keyword.equals("添加用户"))
                {
                	Vector v=new Vector();
                	v.addElement("添加用户");
                	v.addElement(DepartmentBO.selectdept());
                	ps.writeObject(v);
                }else if(keyword.equals("用户信息"))
                {
                	String id = null;
                	try {
						id=(String)br.readObject();
					} catch (ClassNotFoundException e) {
						// TODO Auto-generated catch block
						e.printStackTrace();
					}
					String[]str=UserBO.userhead(id);
					Vector v=new Vector();
                	v.addElement("用户信息");
                	v.addElement(str);
                	ps.writeObject(v);
                }
                else if(keyword.equals("删除用户"))
                {
                	String id = null;
                	try {
						id=(String)br.readObject();
					} catch (ClassNotFoundException e) {
						// TODO Auto-generated catch block
						e.printStackTrace();
					}
					boolean fal=UserBO.alldeletata(id);
					if(fal)

⌨️ 快捷键说明

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