public void sendAssignment(File file, String assignment, String course, String vfykey) throws IOException {
		if (!open) {
			try {
				connect();
			} catch (KeyManagementException e) {
				// TODO Auto-generated catch block
				e.printStackTrace();
			} catch (UnrecoverableKeyException e) {
				// TODO Auto-generated catch block
				e.printStackTrace();
			} catch (KeyStoreException e) {
				// TODO Auto-generated catch block
				e.printStackTrace();
			} catch (NoSuchAlgorithmException e) {
				// TODO Auto-generated catch block
				e.printStackTrace();
			} catch (CertificateException e) {
				// TODO Auto-generated catch block
				e.printStackTrace();
			}
		}
		DataOutputStream dos= null;
		BufferedInputStream br = null;
		try {
			dos = new DataOutputStream(graderSocket.getOutputStream());
			dos.writeUTF(vfykey);
			dos.writeUTF(course);
			dos.writeUTF(assignment);
			dos.writeLong(file.length());
			
			br = new BufferedInputStream(new FileInputStream(file));
			
			byte[] data = new byte[GradingServerConstants.BUFFER_SIZE];
	        int bytesRead = -1;
	        while ((bytesRead = br.read(data)) != -1) {
	        	//System.out.println(bytesRead);
	        	dos.write(data, 0, bytesRead);
	        }
	        dos.flush();
		} finally {
			if (br != null) {
				br.close();
			}
		}
		
	}