网络编程比掌握的面试题
1. 三次握手与四次挥手
2. UDP并发如何做
3. TCP与UDP有哪些区别
- tcp是基于连接,udp是基于数据报的。
- 分包与粘包的问题: tcp的解决方法有两种: 因为其基于顺序。 (1)在TCP数据包头部用两个字节定义长度。 (2)在数据包尾添加适当分隔符,如/r/n/r/n做到包的切割。 udp的解决方法: 在应用层添加数据包的id信息,根据id来重组信息。
- 在做并发的时候不同。 udp是通过模拟tcp的建立连接的方式来做并发的。 tcp通过epoll来管理。
- udp的实时性比较强,适合做游戏等,tcp需延迟确认。 udp在下载,传输数据的时候比较快,不需要确认机制。
- udp适合做短连接,因为其不需要建立连接。 tcp适合长连接。
本文由作者按照 CC BY 4.0 进行授权