tcp server

写 tcp server 要注意的几个设置参数

SO_REUSEADDR

Ignore SIGPIPE

客户端意外挂掉时, 服务器继续往 socket 写数据, 可能会生成 SIGPIPE 信号, 默认导致进程终止

O_NONBLOCK

设置非阻塞 IO

TCP_KEEPALIVE

TCP_NODELAY

用来禁用 Nagle 算法

Nagle 算法的策略:
没有已发送未确认报文时,立刻发送数据。
存在未确认报文时,直到「没有已发送未确认报文」或「数据长度达到 MSS 大小」时,再发送数据。

TCP_QUICKACK

用来禁用 TCP 延迟确认

TCP 延迟确认的策略:
当有响应数据要发送时,ACK 会随着响应数据一起立刻发送给对方
当没有响应数据要发送时,ACK 将会延迟一段时间,以等待是否有响应数据可以一起发送
如果在延迟等待发送 ACK 期间,对方的第二个数据报文又到达了,这时就会立刻发送 ACK

TCP 延迟确认与 Nagle 算法

posted on 2017-01-08 23:51  明天有风吹  阅读(226)  评论(0编辑  收藏  举报

导航

+V atob('d2h5X251bGw=')

请备注:from博客园