You can use an ObjectOutputStrem / ObjectInputStream via you sockets to send a set of results. If all the calsses & subclasses are serialisable that simply works. If not, extract the data into something that is serialisable and send those.
A ResultSet is tied to a Statement which is tied to a Connection. If you close the Statement or Connection, you impact the ResultSet. It is ideal to take the ResultSet on the server and place it into a different object and then pass that new object to the client. This lets the server quickly free up the database resources for the next action/query.
You may want to look at DynaBeans (Apache project)