datetime:2022/12/29 15:46
author:nzb

TCP长连接和短连接

client和server建立连接进行通信,通信完成后释放连接,建立连接时需要3次握手,释放连接需要4次挥手,连接的建立和释放都需要时间,server还有创建新进程或线程的开销

  • 短连接

client/server间只进行一次或连续多次通信,通信完成后马上断开了,管理起来比较简单,不需要额外的控制手段。

  • 长连接

client/server间需要多次通信,通信的频率和次数不确定,所以client和server需要保持这个连接。

根据不同的应用场景采用不同的策略,没有十全十美的旋转,只有合适的选择。

长连接的心跳机制

如果client与server采用长连接,在连接空闲时,client每若干秒向server发送一个心跳报文,server也回复一个心跳报文,确认连接继续生效中。

如果server在约定的时间内没有收到client的任何报文,则认为客户端已掉线,就主动断开连接,释放资源。

心跳报文建议在60秒之内,不要超过120秒

results matching ""

    No results matching ""