public void start(){
		try{
			ss=new ServerSocket(CommonUtil.PORT);//打开套接字
			started =true;//设置启动标志
			while(started){
				 Socket s = ss.accept();//等待一个客户上线，并且读取登陆信息
				 inFromClient = new DataInputStream(s.getInputStream());
				 outToClient = new DataOutputStream(s.getOutputStream());
				 String message = inFromClient.readUTF();
				 String[] userpassword = message.split(CommonUtil.USERPASSWD_SPLIT);//分离帐号和密码信息
					
				 String username = userpassword[0].substring(CommonUtil.USERNAME_MARK.length());
				 String password = userpassword[1].substring(CommonUtil.PASSWORD_MARK.length());
				 
				 String passwd = users.get(username);
				 if (passwd != null && !password.equals(passwd)) {
					 outToClient.writeUTF(CommonUtil.COMFIRM_FAIL_MARK);
					 s.close();
				 } else {
					 outToClient.writeUTF(CommonUtil.COMFIRM_SUCCESS);
					 users.put(username, password);
					 Vclient c=new Vclient(s, inFromClient, outToClient, clients);
					 c.setName(username);
					 new Thread(c).start();
					 clients.add(c);
				 }
			}
		} catch(BindException e){
			System.out.println("端口使用中.....");
			System.out.println("请关掉相关程序并重新运行服务器！");
			started = false;
			System.exit(0);
		} catch (EOFException e){
			System.out.println("Client has closed!");
		} catch(IOException e){
			System.out.println("打开socket时发生 I/O 错误.....");
			System.out.println("请关掉相关程序并重新运行服务器！");
			started = false;
			System.exit(0);
		}  finally{
			try {
				ss.close();
			} catch (IOException e) {
				e.printStackTrace();
			}
		}
	}