public void put(String host, int port, SocketInfo socketInfo) {
		String key = generateKey(host, port);
		if (sockettbl.size() >= maxCount) {
			// remove the least used key from the table
			String lastUsedKey = socketList.removeLast();
			SocketInfo si = sockettbl.remove(lastUsedKey);
			// close the socket and IOs
			try {
				System.out.println("About to close socket in socketCache...");
				si.in.close();
				si.out.close();
				si.socket.close();
			} catch (IOException e) {
				System.out.println("IO Exception");
				e.printStackTrace();
			}
		}
		socketList.addFirst(key);
		sockettbl.put(key, socketInfo);
	}