04-网络 编程
2022-03-22 13:58:42 1 举报
AI智能生成
以思维导图的形式,汇总 【网络 编程】相关的面试点
作者其他创作
大纲/内容
分支主题
网络通信
宏
有哪些IO事件
不足
底层结构
某个套接字准备好可读,表示什么样的事件发生呢
select()
API
代码
网络通信
超链接
poll()
三个函数
epoll_ctl()
epoll_wait()实现
底层原理
边缘触发和水平触发?
epoll()
适用哪些场合?
有100万个客户端同时与一个服务器进程保持着TCP连接。而每一时刻,通常只有几百上千个TCP连接是活跃的(事实上大部分场景都是这种情况)。如何实现这样的高并发?
概念
IO复用函数
fock()
Redis 的Fock 子进程进行AOF重写
写时复制
fock() exec()
prefork
优缺点
PPC
prethread
基本流程
TPC
1、PPC 和 TPC 无法支撑高并发场景
2、IO复用技术+线程池
为什么会有?
2、三个关键角色
1、事件类型
是什么
案例:Redis
单 Reactor 单进程
单 Reactor 多线程
分类
Reactor
阻塞IO
Unix 常见的IO模型
IO模型
s
网络包封装原理
TCP/IP 网络模型
发
收
Linux 网络收发流程
工具
网络性能指标
如何观察网络的性能情况
C10K
协议栈基础
【案例】-使用 tcpdump 和 Wireshark 分析网络流量
基本概念
服务端
客户端
交互图
整个交互过程
socket()
未完成连接队列(SYN 队列) 、已完成连接队列(Accpet 队列)
TCP三次连接,这个listen backLog有什么作用
TCP服务端套接字编程中,执行完listen后,而没有执行accept,客户端是建立连接么?
listen()
accept 发生在三次握手的哪一步?
监听套接字和已连接套接字
accept()
close 函数具体是如何关闭两个方向的数据流呢?
客户端调用 close 了,连接是断开的流程是什么?
close()
和close()区别
shutdown ()
关闭连接
建立连接
操作系统内核的发送缓冲区不足以容纳应用程序数据?
发送缓冲区
write()
read()
收发数据
recv和send
其他收发数据
阻塞函数说明
read() 和 write()
connect()
非阻塞函数
Socket基本函数
中心主题
0 条评论
回复 删除
下一页