跳到主要内容

网络编程注意事项

当我们使用原生socket编程时,需要自己处理send/recv的行为,需要自己定义超时,并管理链路的生命周期。

阻塞与非阻塞

阻塞与非阻塞是指创建的socket在send或者recv的时候是否卡住直到超时或者有数据返回。

  • 阻塞模式下

同步与异步

poll与epoll

返回值处理

返回值处理非常重要,返回值若处理不对,有可能导致链路异常,要么无法关闭,要么卡住。

超时与失败问题

发送与接收

tcp选项

send超时和recv超时

keepalive

tcp用户超时