@Override
	public void close() {
		
		if(status == STATUS_ALIVE){
			try {
				try {
					if (serverSocket != null) socket.close();
				}  catch (IOException e) { e.printStackTrace(); }
				try {
					if (readStream != null) readStream.close();
				} catch (IOException e) { e.printStackTrace(); }
				
				try {
					if (writeStream != null) writeStream.close();
				} catch (IOException e) { e.printStackTrace(); }
				try {
					if (socket != null) socket.close();
				} catch (IOException e){ e.printStackTrace(); }
			} 
			finally{
				status = STATUS_FAILED;
			}
		}
	}