Fundamentals 10 min read

Short vs Long TCP Connections: When to Use Each and How to Keep Them Alive

TCP connections can be either short-lived, closing after a single request‑response cycle, or long-lived, staying open for multiple exchanges; this article explains their handshake processes, advantages, drawbacks, typical use cases, reasons long connections drop, and practical strategies such as keepalive and reconnection to maintain reliability.

MaGe Linux Operations
MaGe Linux Operations
MaGe Linux Operations
Short vs Long TCP Connections: When to Use Each and How to Keep Them Alive

TCP Connection Types

When an interviewer asks about long and short TCP connections, you should explain the three‑way handshake for establishing a connection and the four‑way handshake for releasing it. Each connection consumes resources and time.

Short Connection

Typical short‑connection flow:

Client sends a connection request to the server.

Server accepts and establishes the connection.

Client sends a message.

Server replies.

After the read/write completes, either side can initiate close.

Usually the client initiates the close. A short connection generally carries only one request‑response pair.

Advantages of Short Connections

Server management is simple; all connections are useful and need no extra control.

Frequent client requests can waste time and bandwidth on repeated handshakes.

Typical Use Cases

Web HTTP services, where millions of clients connect briefly.

Long Connection

Long connections keep the TCP link open for multiple read/write operations, avoiding repeated handshakes.

Client initiates connection.

Server accepts and establishes the link.

Client sends messages.

Server replies.

Read/write continues without closing.

Later reads/writes occur over the same link.

When finished, the client initiates closure.

Advantages of Long Connections

Reduces overhead of repeated handshakes, saving time for frequent requests.

However, many idle long connections can exhaust server resources; strategies like timeout or limiting per‑client connections are needed.

Typical Use Cases

Frequent point‑to‑point communication where connection count is limited, e.g., database connections.

Comparison

Short connections release the link after data exchange, while long connections keep it alive even during idle periods, potentially leading to many half‑open connections if clients disappear unexpectedly.

Reasons Long Connections May Drop

Process termination.

NAT timeout.

Network changes.

Other uncontrollable factors (poor network, DHCP lease expiration, etc.).

Process Termination

When the process is killed, the long connection closes.

NAT Timeout

Different carriers have varying NAT timeout values; if no traffic occurs, the NAT entry expires, causing the connection to drop.

Network Changes

Switching between Wi‑Fi and mobile data or other network changes can break the connection.

Other Factors

Poor network conditions, DHCP lease expiry (e.g., Android not renewing the IP) can also cause disconnections.

Efficient Long‑Connection Maintenance Solutions

Keepalive: avoid unnecessary disconnections while the link is active.

Reconnection: automatically re‑establish after a drop.

Process keepalive mechanisms.

Heartbeat keepalive mechanisms.

Reconnection strategies.

Heartbeat Mechanism Overview

Heartbeat packets are small (≤10 bytes) and sent periodically to prevent NAT timeout and reduce resource consumption.

Heartbeat Packet Design

Design principles focus on minimal content and size.

Heartbeat Interval Design

Typical interval is less than 5 minutes (often 4 minutes) to balance NAT timeout avoidance and resource usage.

Potential Issues with Fixed Intervals

Fixed intervals may still waste bandwidth or battery if too frequent.

Heartbeat Scheme Design Details

Packet size: around 10 bytes with minimal fields.

Interval: configurable, commonly 4 minutes.

Reconnection logic: detect unresponsive links and trigger reconnection.

Overall, maintaining a reliable long‑lasting TCP connection requires a combination of keepalive, appropriate heartbeat intervals, and robust reconnection handling.

Original Source

Signed-in readers can open the original source through BestHub's protected redirect.

Sign in to view source
Republication Notice

This article has been distilled and summarized from source material, then republished for learning and reference. If you believe it infringes your rights, please contactadmin@besthub.devand we will review it promptly.

TCPlong-connectionKeepaliveHandshakeshort connection
MaGe Linux Operations
Written by

MaGe Linux Operations

Founded in 2009, MaGe Education is a top Chinese high‑end IT training brand. Its graduates earn 12K+ RMB salaries, and the school has trained tens of thousands of students. It offers high‑pay courses in Linux cloud operations, Python full‑stack, automation, data analysis, AI, and Go high‑concurrency architecture. Thanks to quality courses and a solid reputation, it has talent partnerships with numerous internet firms.

0 followers
Reader feedback

How this landed with the community

Sign in to like

Rate this article

Was this worth your time?

Sign in to rate
Discussion

0 Comments

Thoughtful readers leave field notes, pushback, and hard-won operational detail here.