public boolean get(long timeout){
		long end = System.currentTimeMillis()+timeout;
		synchronized(this){
			while(!isDone && timeout > 0){				
				try{
					wait(timeout);
				}catch(InterruptedException e){}
				timeout = end - System.currentTimeMillis();
			}
		}
		if(!isDone){
			packet.setExceptionMessage("connection time out!");
		}
		return result;
	}