每日八股

1. TCP粘包和拆包
2. HTTPS和HTTP的区别
3. IO网络模型有哪些
4. select/poll/epoll是什么
全部评论
4. 都是用来实现IO多路复用的系统调用,select使用数组管理文件描述符(Socket),需要全量遍历,poll改为链表,解决上限问题,而epoll使用红黑树管理Socket,高效增删改,采用事件驱动机制:给每个Socket注册一个回调函数,只关注活跃的,不需要全量遍历
点赞 回复 分享
发布于 04-01 15:16 江苏
3. 阻塞式 IO:调用后一直阻塞等待。非阻塞式IO:轮询发起请求。IO 多路复用:一个线程同时监控多个连接。信号驱动I/O:注册信号处理函数,数据好了发送信号,异步I/O:发起请求后立即返回。内核完成后直接将数据拷贝到用户缓冲区,并发送信号通知进程。
点赞 回复 分享
发布于 04-01 14:48 江苏
2. HTTPS的端口号变为443,另外SSL加密防窃听,校验和防篡改,身份认证防冒充。
点赞 回复 分享
发布于 04-01 14:34 江苏
1. 因为TCP是面向字节流的,不保留消息的边界。 粘包是客户端发送多个数据,服务端接受到一个数据,解决方法有特殊符号分割或者头部固定长度作为长度。 拆包时因为最大报文段长度的限制,导致客户端发送一个数据,服务端接收多个数据
点赞 回复 分享
发布于 04-01 14:31 江苏

相关推荐

03-31 21:47
东南大学 C++
彭于晏前来求offe...:吓晕了
点赞 评论 收藏
分享
评论
1
2
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务