When the TCP connection is open, both sides have information about this (remote ip: port, local ip: port). This information is a simple data structure in memory. Until an RST packet or timeout is received, the connection is considered open.
When you send connection data, you start to consume the processor and force the base wireless mobile network module to send a signal, therefore, consume the battery.
That's why it's better to maintain a TCP connection as long as possible and prefer batch chatting (combine multiple application messages).
On the other hand, you should be prepared for a situation where network coverage is poor and you have to constantly open a TCP connection, thereby consuming battery power.
source share