TCP/IP协议栈层次结构TCP三次握手需要知道的细节点TCP四次挥手需要知道的细节点(CLOSE_WAIT、TIME_WAIT、MSL)TCP与UDP的区别与适用场景linux常见网络模型详解(select、poll与epoll)epoll_event结构中的epoll_data_t的fd与ptr的使用场景Windows常见的网络模型详解(select、WSAEventSelect、WSAAsyncSelect)Windows上的完成端口模型(IOCP)异步的connect函数如何编写10.select函数可以检测网络异常吗?epoll的水平模式和边缘模式如何将socket设置成非阻塞的(创建时设置与创建完成后设置),非阻塞socket与阻塞的socket在收发数据上的区别send/recv(read/write)返回值大于0、等于0、小于0的区别14.如何编写正确的收数据代码与发数据代码15.发送数据缓冲区与接收数据缓冲区如何设计16.socket选项SO_SNDTIMEO和SO_RCVTIMEO17.socket选项TCP_NODELAY18.socket选项SO_REUSEADDR和SO_REUSEPORT(Windows平台与linux平台的区别)19.socket选项SO_LINGER20.shutdown与优雅关闭21.socket选项SO_KEEPALIVE22.关于错误码EINTR23.如何解决tcp粘包问题24.信号SIGPIPE与EPIPE错误码25.gethostbyname阻塞与错误码获取问题26.心跳包的设计技巧(保活心跳包与业务心跳包)27.断线重连机制如何设计28.如何检测对端已经关闭29.如何清除无效的死链(端与端之间的线路故障)30.定时器的不同实现及优缺点31.http协议的具体格式32.http head、get与post方法的细节33.http代理、socks4代理与socks5代理如何编码实现34.ping35.telnet