public static boolean sessionDelete(String sessionID, int versionNum, Server server) {
		try {
			DatagramSocket RPCSocket = new DatagramSocket();
			RPCSocket.setSoTimeout(1000);
			
			String callID = UUID.randomUUID().toString(); // A unique id for this call
			
			String tempSend = callID + "^" + SESSIONDELETE_CODE + "^" + sessionID + "^" + versionNum;
			byte[] outBuffer = marshal(tempSend);
			
			DatagramPacket sendPacket = new DatagramPacket(outBuffer, outBuffer.length, server.ip, server.port);
			RPCSocket.send(sendPacket);
			
			// The packet has been sent, now wait for the server to reply
			
			byte[] inBuffer = new byte[4096];
			DatagramPacket receivedPacket = new DatagramPacket(inBuffer, inBuffer.length);
			
			do {
				receivedPacket.setLength(inBuffer.length);
				RPCSocket.receive(receivedPacket);
			} while (!(RPCClient.unmarshal(receivedPacket.getData())).split("\\^")[0].equals(callID));
			
		} catch (SocketException e) {
			e.printStackTrace();
			return false;
		} catch (UnknownHostException e) {
			e.printStackTrace();
			return false;
		} catch (IOException e) {
			e.printStackTrace();
			return false;
		}
		// Everything executed without error
		return true;
		
	}