You can only send a stream of bytes over a socket. Anything else must be serialized into a stream of bytes and deserialized on the remote end.
Your opted to serialize using the application/x-www-form-urlencoded protocol. It's only capable of serializing key-value pairs of strings. Yet you try to pass a reference.
You'll need to serialize the contents of the array into a string in a manner expected by the server.