2019独角兽企业重金招聘Python工程师标准>>>

针对链接(connect)时候的超时:

# 法一:
import socketsocket.setdefaulttimeout(5)
sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
sock.connect((host, port))
sock.sendall('xxx')
sock.recv(1024)
sock.close()'''
20160716 update
socket.setdefaulttimeout(5) 此句必须放到建立链接的前面,否则超时设置无效果
'''
# 法二:
import socketsock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
sock.settimeout(5)
sock.connect((host, port))
# 恢复默认超时设置,设置某些情况下socket进入阻塞模式(如makefile)
sock.settimeout(None)
sock.connect((host, port))
sock.sendall('xxx')
sock.recv(1024)
sock.close()

针对接收(recv)数据时的超时:

# 法一:
import socketsocket.setdefaulttimeout(5)
sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
sock.connect((host, port))
sock.sendall('xxx')
# 连接和接收的时候都设置一次超时
sock.settimeout(5)
sock.recv(1024)
sock.close()
# 法二[未验证]:
import selectmysocket.setblocking(0)ready = select.select([mysocket], [], [], timeout_in_seconds)
if ready[0]:data = mysocket.recv(4096)

参考链接:

http://stackoverflow.com/questions/2719017/how-to-set-timeout-on-pythons-socket-recv-method

转载于:https://my.oschina.net/u/1188877/blog/534392

Socket相关操作超时相关推荐

  1. Linux Socekt 相关操作代码

    内容来自于: https://www.nowcoder.com/courses/cover/live/504 便于复习. 0.基础 0.1  C/S结构 服务器 - 客户机,即 Client - Se ...

  2. socket相关命令

    socket相关命令 学习<Linux高性能服务器编程>第五章Linux网络编程基础API,为了印象深刻一些,多动手多实践,所以记下这个笔记.这一篇主要记录Linux中socket相关的命 ...

  3. [RabbitMQ]RabbitMQ原理与相关操作(一)

    2019独角兽企业重金招聘Python工程师标准>>> RabbitMQ原理与相关操作(一) 小编是菜鸟一枚,最近想试试MQ相关的技术,所以自己看了下RabbitMQ官网,试着写下自 ...

  4. mysql数据库断开连接_解决mysql服务器在无操作超时主动断开连接的情况

    我们在使用mysql服务的时候,正常情况下,mysql的设置的timeout是8个小时(28800秒),也就是说,如果一个连接8个小时都没有操作,那么mysql会主动的断开连接,当这个连接再次尝试查询 ...

  5. HttpWebRequest中GetResponse或者说GetRequestStream偶尔超时,或者是各种操作超时造成的假死的一些解决方案...

    今天用了将近一天的时间来查找这个问题的存在,不停的百度查找原因测试原因,发现解决方案很是简单,不过最好还好哦啊都解决了,在这里纪录一下,希望可以帮到你们 payload = System.Text.E ...

  6. pmon下nandflash相关操作

    龙芯平台下nandflash相关操作 pmon下 查看nandflash设备(只能通过打印信息查看) NAND device: Manufacturer ID: 0xec, Chip ID: 0xf1 ...

  7. 微信公众号抓取 操作手机相关操作 ②

    上篇文章:https://blog.csdn.net/hhaimm/article/details/124174951?spm=1001.2014.3001.5501(环境搭建及部分anyproxy ...

  8. php 客户端socket长连接超时,[PHP] socket客户端时的超时问题

    连接socket分为连接超时和读取超时 $sock=stream_socket_client("www.google.com:80", $errno,$errstr,2);    ...

  9. uCOS-II消息邮箱的相关操作函数

    定位到uCOS-II/Source/os_mbox.c,该文件是消息邮箱管理的相关操作函数.   任务与任务之间需要数据传递,那么为了适应传递的数据的不同类型,可以建立一个缓冲区(void*类型可以接 ...

最新文章

  1. Leetcode 189. 旋转数组 (每日一题 20210909)
  2. Algorithm:C++语言实现之贪心法算法相关问题
  3. amd cpu不能在cmd环境下运行java代码_「我们一起学Java02」JDK、JRE、JVM简介,Java开发平台的搭建...
  4. java jni调用dll_浅谈JNI的使用--java调用dll(原创)
  5. RabbitMQ详解(一)
  6. 关于关闭Eclipse的控制台自动跳出
  7. 在网页中嵌入任意字体的解决方案---google在线字体库应用
  8. 软件版本 —— Alpha、Beta、RC、Stable版本的区别
  9. Java Persistence with MyBatis 3(中文版) 第二章 引导MyBatis
  10. tensorflow学习笔记1:batch normalization 用法
  11. 库仑计BQ27441使用
  12. 【华为云技术分享】LwM2M协议的学习与分享
  13. 搜索引擎网站收录入口大全
  14. Google I/O 2014之Android面面观
  15. db2 系统临时表空间
  16. 计算机作业word电子杂志,怎么用Word文档制作电子杂志目录
  17. python快乐数字怎么表达_幸福快乐用数字怎么表示?
  18. 数据结构:关于链表直接free(p)会不会造成断链
  19. 山东大学2019上半学期增强现实课程重点整理
  20. 拼多多订单,商品详情,关键词API接口

热门文章

  1. 在Linux 中编写并运行C语言
  2. 基于XML和注解的Spring Bean管理
  3. html + css + js 实现简易计算器
  4. vs 2017 无法安装任何 nuget package,提示“库没有注册。。。”
  5. TCP/IP原理 (四) IP编址
  6. python pandas 对带时间序列的数据进行重采样处理
  7. JavaScript笔记整理
  8. 给下拉框加上可输入查询特性,包括中文与拼音首字母
  9. 10、存储过程、while语句
  10. background-position 用法介绍