
Linux
文章平均质量分 63
try-agaaain
这个作者很懒,什么都没留下…
展开
-
能进行一对多连接的服务器(1994年Linux 1.0支持select)
但是accept、recv、send函数都是阻塞的,如果没有用户发送连接请求或者发送数据,那整个服务器照样会被阻塞,无法实现一对多的连接。并对这个文件描述符执行recv函数,这个时候,recv函数可以直接获得收到的数据,因而不会被阻塞。如果有,则由accept产生客户端对应的文件描述符,并加入到感兴趣的文件描述符集合。首先,要进行I/O多路复用,则意味着一个服务器可以同时连接多个客户端,那么就需要用数组来记录这些客户端,上面的代码中通过。变为感兴趣的文件描述符集合中有事件发生的文件描述符集合。原创 2022-11-28 16:50:54 · 493 阅读 · 0 评论 -
被用户独占的服务器(1983年 socket发布在Unix4.2 BSD 没有I/O复用)
这个的服务器程序也可以处理多个用户的请求,但必须得当前用户结束之后才能连接下一个用户。重点关注while循环体,在这个循环体中recv和send都是阻塞式的函数,如果用户没有向服务器发送数据,则循环将阻塞在recv函数中,整个服务器也进入了阻塞,不能做任何事情。所以这种实现方式中服务器和客户端的连接是一对一的。如果当前的用户断开连接,则recv函数返回-1,if判断生效,使用accept函数接收下一个用户的连接请求。注意,accept函数也是阻塞的,如果没有下一个用户请求,服务器将在这个位置阻塞。原创 2022-11-28 15:38:45 · 253 阅读 · 0 评论 -
Linux C网络通信过程
逐步介绍Linux 网络连接的过程原创 2022-11-24 18:37:45 · 1077 阅读 · 0 评论 -
在Ubuntu中删除文件遇到Permission denied
Permission denied:用户对文件没有操作权限,可能是文件不属于该用户,也可能是该文件在其他进程中打开处于保护状态。原创 2022-10-12 08:40:35 · 1095 阅读 · 0 评论 -
SSH登录Linux的两种方式
SSH可以通过密码登录服务器,也可以通过密钥对登录服务器。原创 2022-06-17 10:37:30 · 6258 阅读 · 0 评论