研究了下怎么猛改 图2要素过多
话说上海汤姆熊的2dx有人认领一下吗(
机器内部实在是太破了,半边喇叭也不响,功放懒得修就把之前攒的大鱼吃小鱼2代的功放利用起来了,找到喇叭的线剪了直接接自己功放上。
然后把手台部分改成自己的手台io。
屏幕也太老了,之后定一个金属的支架,拧好显示器背面螺丝,这样不会破坏原来的屏,把自己的32寸高刷显示器挂在整体屏幕的框架上面
话说上海汤姆熊的2dx有人认领一下吗(
机器内部实在是太破了,半边喇叭也不响,功放懒得修就把之前攒的大鱼吃小鱼2代的功放利用起来了,找到喇叭的线剪了直接接自己功放上。
然后把手台部分改成自己的手台io。
屏幕也太老了,之后定一个金属的支架,拧好显示器背面螺丝,这样不会破坏原来的屏,把自己的32寸高刷显示器挂在整体屏幕的框架上面
#粤嵌星计划##粤嵌我来啦#
第十九周第一次总结一下网络编程四种IO模型:阻塞IO/非阻塞IO/多路复用/信号驱动。 阻塞IO: 一直等待某一个套接字的数据到达,如果有数据,则读取完就会返回,如果没有数据,就会一直阻塞等待。非阻塞IO:读取一个套接字数据时,如果有数据,则读取完返回,如果没有数据,就直接返回。 默认情况下新创建的文件描述符都是阻塞的,所以说要使用非阻塞属性,就必须要给文件描述符/套接字设置非阻塞的属性,然后读取该文件描述符/套接字时,那么就是非阻塞的读取了。多路复用:把若干个套接字塞到一个集合中,如果集合中某一个套接字有数据到达,则其余没有数据到达的套接字就会被自动剔除到集合之外。信号驱动:当套接字中有数据到达时,会发送一个信号出来,提示对方来接收数据。[/cp]
第十九周第一次总结一下网络编程四种IO模型:阻塞IO/非阻塞IO/多路复用/信号驱动。 阻塞IO: 一直等待某一个套接字的数据到达,如果有数据,则读取完就会返回,如果没有数据,就会一直阻塞等待。非阻塞IO:读取一个套接字数据时,如果有数据,则读取完返回,如果没有数据,就直接返回。 默认情况下新创建的文件描述符都是阻塞的,所以说要使用非阻塞属性,就必须要给文件描述符/套接字设置非阻塞的属性,然后读取该文件描述符/套接字时,那么就是非阻塞的读取了。多路复用:把若干个套接字塞到一个集合中,如果集合中某一个套接字有数据到达,则其余没有数据到达的套接字就会被自动剔除到集合之外。信号驱动:当套接字中有数据到达时,会发送一个信号出来,提示对方来接收数据。[/cp]
#粤嵌星计划,粤嵌我来了#
今天学了网络编程的一个重点---多路复用
1、同时监听多个套接字
阻塞IO---->只能同时监听一个套接字
非阻塞IO--->一直轮询,询问IO口有没有数据到来,非常浪费CPU资源
2、什么是多路复用
就是预先把需要监听的文件描述符加入到一个集合中,然后在规定的时间内 或者 无限时间阻塞等待。
如果在规定的时间内,集合中文件描述符没有数据变化,则说明超时接收,会进入下一次规定的时间内再次等待。
一旦集合中的文件描述符有数据变化,则其他没有数据变化的文件描述符就会被踢除到集合之外,并且会再次进入下一次的等待状态。
3、特点
同时监听多个套接字
4、多路复用的函数接口 ---select
5、关于文件描述符集合的函数接口
fd_set---》文件描述符集合 数据类型
1)删除集合中某个文件描述符fd
void FD_CLR(int fd, fd_set *set);
2)判断某个文件描述符 fd 是否 在集合set中
int FD_ISSET(int fd, fd_set *set);
3)将文件描述符fd加入到集合中set
void FD_SET(int fd, fd_set *set);
4)清空这个集合set
void FD_ZERO(fd_set *set);
今天学了网络编程的一个重点---多路复用
1、同时监听多个套接字
阻塞IO---->只能同时监听一个套接字
非阻塞IO--->一直轮询,询问IO口有没有数据到来,非常浪费CPU资源
2、什么是多路复用
就是预先把需要监听的文件描述符加入到一个集合中,然后在规定的时间内 或者 无限时间阻塞等待。
如果在规定的时间内,集合中文件描述符没有数据变化,则说明超时接收,会进入下一次规定的时间内再次等待。
一旦集合中的文件描述符有数据变化,则其他没有数据变化的文件描述符就会被踢除到集合之外,并且会再次进入下一次的等待状态。
3、特点
同时监听多个套接字
4、多路复用的函数接口 ---select
5、关于文件描述符集合的函数接口
fd_set---》文件描述符集合 数据类型
1)删除集合中某个文件描述符fd
void FD_CLR(int fd, fd_set *set);
2)判断某个文件描述符 fd 是否 在集合set中
int FD_ISSET(int fd, fd_set *set);
3)将文件描述符fd加入到集合中set
void FD_SET(int fd, fd_set *set);
4)清空这个集合set
void FD_ZERO(fd_set *set);
✋热门推荐