第46讲

来源:互联网 发布:软件如何防止破解 编辑:程序博客网 时间:2024/05/16 06:38
今日结果:I/O复用技术
1  select函数 ---》 用一个进程对应多个客户端的通信, 
阻塞I/O模型(默认为阻塞)
非阻塞I/O模型,  信号驱动I/O模型,异步I/O模型(   效率更高,有附加信息)
2 select()函数:允许进程指示内核等待多个事件中的任何一个发生,或在指定的时间后唤醒进程。
int select(int maxfdp1, fd_set *readset, fd_set *writeset, fd_set *excepted, struct timeval *timeout)
如: fd_cnt = select(maxfd + 1, &fd_temp, NULL, NULL, NULL);   
timeout:   永久的等待下去(空指针),固定时间(timeval),不等待(o)
void FD_ZERO(fd_set *fdset); //清空描述字集合
                void FD_SET(int fd, fd_set *fdset); //添加一个描述字到集合中
                 void FD_CLR(int fd, fd_set *fdset); //从集合中删除一个描述字 
                  int FD_ISSET(int fd, fd_set *fdset);//描述字是否在该集合中
FD_SETSIZE  系统默认设置为1024个字节
%02d  两位整数,位数不足是前面不零
明日计划:完成叶老师布置的作业,然后自己去多学习一点socket的编程知识,之后在花一些时间对上课前的知识做个预习。


感想: 先也终于明白了,知道怎样让程序同时跑两个进程各执行自己的特定功能,能够让程序更加的美观些,也慢慢的了解到两个机子之间是怎样通信的过程。这些知识很重要,自己一定要多 的练习。加油。认真听课,记笔记。
0 0