public void signin() {
			try {
				// Receive email and pwd
				out.writeObject("email");
				getEmail();
				if(email==null) {
					out.writeObject("Fail to receive email!");
					return;
				}

				// Find the user
				if(!getUser()) {
					out.writeObject("No such user!");
					return;
				}

				// Receive the pwd
				out.writeObject("pwd");
				String pwd = (String) in.readObject();
				if(!pwd.equals(user.getPassword())) {
					out.writeObject("Wrong Password!");
					return;
				}

				// Save and send back the User
				allClients.put(email, this);
				out.writeObject(user);
				System.out.println("signin success!");

			} catch (IOException e) {
				// TODO Auto-generated catch block
				e.printStackTrace();
			} catch (ClassNotFoundException e) {
				// TODO Auto-generated catch block
				e.printStackTrace();
			}
		}