Perhaps the client expects the x to be preceded by 0. It is conventional to precede hex values by 0x. Therefore maybe:
client.println("[P]0x00\0x02\0x06\0x0d\0x0e");
Is there a document for the client you can point us to? It seems odd to me that everything is specified in hex except for the [P]. What does the client send you? Is it in ASCII? Are you sure this is not a binary protocol?