I will be implementing a multi client/server game structure that uses TCP.

When the connection of a client is established with the server and the
exchange was done, can I just retain the connection until the client initiates to disconnect?
Or just disconnect whenever a request/response was finished then establish a new connection again if it is needed?

I am just concerned that if the connection will be continous it may be not a good choice because of network issues (bandwidth,security or anything) or client machine issues (memory,local resource or anything)

How does multi player games are implemented with regards to connection?

I hope anyone can help me on this.