1. TCP/IP协议栈层次结构
2. TCP三次握手需要知道的细节点
3. TCP四次挥手需要知道的细节点(CLOSE_WAIT、TIME_WAIT、MSL)
4. TCP与UDP的区别与适用场景
5. linux常见网络模型详解(select、poll与epoll)
6. epoll_event结构中的epoll_data_t的fd与ptr的使用场景
7. Windows常见的网络模型详解(select、WSAEventSelect、WSAAsyncSelect)
8. Windows上的完成端口模型(IOCP)
9. 异步的connect函数如何编写
10.select函数可以检测网络异常吗?
11. epoll的水平模式和边缘模式
12. 如何将socket设置成非阻塞的(创建时设置与创建完成后设置),非阻塞socket与阻塞的socket在收发数据上的区别
13. send/recv(read/write)返回值大于0、等于0、小于0的区别
14.如何编写正确的收数据代码与发数据代码
15.发送数据缓冲区与接收数据缓冲区如何设计
16.socket选项SO_SNDTIMEO和SO_RCVTIMEO
17.socket选项TCP_NODELAY
18.socket选项SO_REUSEADDR和SO_REUSEPORT(Windows平台与linux平台的区别)
19.socket选项SO_LINGER
20.shutdown与优雅关闭
21.socket选项SO_KEEPALIVE
22.关于错误码EINTR
23.如何解决tcp粘包问题
24.信号SIGPIPE与EPIPE错误码
25.gethostbyname阻塞与错误码获取问题
26.心跳包的设计技巧(保活心跳包与业务心跳包)
27.断线重连机制如何设计
28.如何检测对端已经关闭
29.如何清除无效的死链(端与端之间的线路故障)
30.定时器的不同实现及优缺点
31.http协议的具体格式
32.http head、get与post方法的细节
33.http代理、socks4代理与socks5代理如何编码实现
34.ping
35.telnet
关于以上问题的答案,有兴趣可以参考我的知乎live:https://www.zhihu.com/lives/922110858308485120
或者如果你有任何不明白的地方,可以给本公众号留言。