- 0
- 0
- 约1.08千字
- 约 8页
- 2026-05-13 发布于北京
- 举报
网络编程星空2024.5.30
实现一对一的聊天服务器和客户端:select都要对标准输入进行监听peerfd/clientfd
select接口nfds:当前监听的文件描述符的最大值+1readfds:传入参数,监听的读事件的集合,不需要时设置为NULL;同时,也是传出参数writefds:传入参数,监听写事件的集合,不需要时设置为NULLexceptfds:传入参数,监听错误事件的集合,不需要时设置为NULLtimeout:NULL无限等待(阻塞),直到监听的fd上发生了事件fd_set是一个位图,就是一个数组返回值:大于0,表示有多少fd就绪;等于0,超时;小于0发生了错误是一个阻塞式函数
读写事件针对于套接字hello,serverhello,world用户态接收缓冲区发送缓冲区内核态接收缓冲区发送缓冲区recvsend当内核的接收缓冲区中有数据时,表示该套接字sockfd可读=读事件发生(就绪)当内核的发送缓冲区有空间,表示该套接字sockfd可写=》写事件发生(就绪)InputOutput网络IO事件标准输入==》缓冲区有数据可读磁盘文件open=》fd=内核缓冲区有数据可读
server
client获取对端的数据
位图fd_set底层实现1个字节占据8bit100010000
原创力文档

文档评论(0)