C++实现多路复用即时服务器与客户端技术.pptxVIP

  • 0
  • 0
  • 约1.08千字
  • 约 8页
  • 2026-05-13 发布于北京
  • 举报

C++实现多路复用即时服务器与客户端技术.pptx

网络编程星空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)

1亿VIP精品文档

相关文档