侧边栏壁纸
博主头像
落叶人生博主等级

走进秋风,寻找秋天的落叶

  • 累计撰写 130562 篇文章
  • 累计创建 28 个标签
  • 累计收到 9 条评论
标签搜索

目 录CONTENT

文章目录

socket 之阻塞与非阻塞

2022-06-29 星期三 / 0 评论 / 0 点赞 / 78 阅读 / 970 字

套接子的阻塞与非阻塞阻塞:在未完成当前任务时,不会去处理其他任务。例如当一个函数在执行接收数据时,只要数据未接收完,它就会一直等待接收下去,不会执行其他的操作。非阻塞:在未完成一个任务时,可以停止该项

.

套接子的阻塞与非阻塞


阻塞:

在未完成当前任务时,不会去处理其他任务。例如当一个函数在执行接收数据时,只要数据未接收完,它就会一直等待接收下去,不会执行其他的操作。

非阻塞:

在未完成一个任务时,可以停止该项任务,进行下一步的操作。例如socket服务端在等待客户端的连接时,若有客户端请求连接,则与之连接。若没有客户端的请求,服务端就会去做其他的事情,而不会一直等待。

默认情况下tcp套接字处于阻塞模式,可是调用setblocking(0)或者setblocking(1)将套接字改为非阻塞模式或阻塞模式。

如下代码:

import sockets = socket.socket(socket.AF_INET,socket.SOCK_STREAM)s.setblocking(0) #非阻塞模式s.settimeout(0.5)#超时时间s.bind((h,p))...


.

广告 广告

评论区