public boolean getBlock(String DFSBlkName, String localBlkName){
        /* Send Get-Block_Request to NameNode */
        DFSMessage getBlkNameNodeReq = new DFSMessage(DFSMessageType.GetBlkClientReqMsg, DFSBlkName, null);
        DFSMessage getBlkNameNodeResp = DFSMessageSender.sendMessage(getBlkNameNodeReq, this.nameNode);
        if(getBlkNameNodeResp == null || getBlkNameNodeResp.getType() != DFSMessageType.GetBlkNameNodeRespMsg || getBlkNameNodeResp.getFirst() == null){
            System.out.println("Failed to send Get-Block-Request (Block: " + DFSBlkName + ") to NameNode (" + this.nameNode.getIp() + ":" + this.nameNode.getPort() + ")");
            return false;
        }else{
            System.out.println("Sent Get-Block-Request (Block: " + DFSBlkName + ") to NameNode (" + this.nameNode.getIp() + ":" + this.nameNode.getPort() + ")");
        }
        
        /* Get block from DataNode */
        DFSNode dataNode = (DFSNode)getBlkNameNodeResp.getFirst();
        DFSMessage getBlkDataNodeReq = new DFSMessage(DFSMessageType.GetBlkClientReqMsg, DFSBlkName, null);
        DFSMessage getBlkDataNodeResp = DFSMessageSender.sendMessage(getBlkDataNodeReq, dataNode);
        if(getBlkDataNodeResp == null || getBlkDataNodeResp.getType() != DFSMessageType.GetBlkDataNodeRespMsg || getBlkDataNodeResp.getFirst() == null){
            System.out.println("Failed to send Get-Block-Request (Block: " + DFSBlkName + ") to DataNode (" + dataNode.getIp() + ":" + dataNode.getPort() + ")");
            return false;
        }else{
            System.out.println("Sent Get-Block-Request (Block: " + DFSBlkName + ") to DataNode (" + dataNode.getIp() + ":" + dataNode.getPort() + ")");
        }
        List<String> lines = (List<String>)getBlkDataNodeResp.getFirst();
        try{
            BufferedWriter bw = new BufferedWriter(new FileWriter(localBlkName));
            for(String s : lines){
                bw.write(s);
                bw.newLine();
            }
            bw.flush();
            bw.close();
        }catch(Exception e){
            e.printStackTrace();
            System.out.println("Failed to send Get-Block-Request (Block: " + DFSBlkName + ")");
            return false;
        }
        System.out.println("Sent Get-Block-Request (Block: " + DFSBlkName + ")");
        return true;
    }