go net.conn SetReadDeadline的困惑

news/2024/4/26 20:58:09/文章来源:https://blog.csdn.net/XiaoWhy/article/details/130320331

最近在用go写个工具,在几百个协程并行拿多个服务器数据时,用SetReadDeadline设置超时60s时,经常read返回失败,错误信息是timeout,而不设置SetReadDeadline时,反而正常,而且正常数据返回也不可能会超时60s,这是为什么呢?

recv部分的代码

/*** 接收数据包*/
func RecvData(conn net.Conn, len int) ([]byte, bool) {var nTotalRecv intbuff := make([]byte, len)nTotalRecv = 0for {if nTotalRecv >= len {break}//阻塞//conn.SetReadDeadline(time.Now().Add(60 * time.Second))nRecv, err := conn.Read(buff[nTotalRecv:])if err != nil {//if nerr, ok := err.(net.Error); ok && nerr.Timeout() {// log.Error("connect read conn timeout,continue to read.", err, " nRecv:", nRecv, ",totalrecv:", nTotalRecv, ",need read len:", len)// continue//} else {log.Error("connect read conn failed.", err, " nRecv:", nRecv, ",totalrecv:", nTotalRecv, ",need read len:", len)return buff, false//}}nTotalRecv += nRecv}return buff, true
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.luyixian.cn/news_show_103883.aspx

如若内容造成侵权/违法违规/事实不符,请联系dt猫网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Java文件IO操作基础

目录 前言 java.io.File 1. 构造方法 2. 方法 get类方法 文件的创建和删除 目录的创建与删除 输入输出流 InputStream FileInputStream 概述 代码实例1 代码实例2 字符集问题? Scanner 读取 OutputStream Java输入输出流的使用案例 创作不易, 多多支持😶‍&…

漫画 | Linux之父:财务自由以后,我失眠了!

前言:今年是Linux诞生的30周年! 1991年的8月, Linus在新闻组中公布了他正在开发的一个免费的操作系统,这也是以后风靡世界的Linux操作系统的雏形。 今天翻到这篇漫画,看到Linux的诞生过程,很是感慨&#x…

Unlimited “使用GPT-4 ”!它来了!

备注本文末尾附录注册登录过程 平台介绍: 聊天机器Chat.fore人front.ai是一为款基于人主工智能的题聊天的机器人主平台,旨在帮菜助企,业提可以高客户服务质是量和一效率。该平款台利用自然语精言处理技术和机器致学习的算法,能够自牛动排回答客,户的问题,提供个性化的服…

《string的模拟实现》

本文主要介绍库里面string类的模拟实现 文章目录 前言一、string的构造函数①无参的构造函数②带参的构造函数③修改构造函数 二、析构函数三、拷贝构造四、赋值重载五、返回size 、capacity和empty六、[]的运算符重载七、迭代器① 正向迭代器。② 正向const迭代器 八、string比…

接口自动化测试数据处理:技术人员必备的一项技能

目录 前言: 1.定义测试数据结构 2.从文件中加载测试数据 3.使用faker库生成随机测试数据 4.在测试用例中使用测试数据 总结: 前言: 在进行接口自动化测试时,测试数据的准备和处理是至关重要的一环。测试数据的准确性和完整性…

SAP 已根据规则拒绝服务器触发的操作 报错处理

SAP GUI在读取和写入文件的时候,询问是否给与权限,误操作点了否,导致报错如下 解决步骤如下: 点击选项 在下面的界面中依次点击安全配置---》已定制--》打开安全配置 在下面的界面找到你拒绝的条目,双击 将下图下拉框…

python海龟库教学

海龟库: 海龟绘图 “小海龟”turtle是Python语言中一个很流行的绘制图像的函数库,想象一个小乌龟,在一个横轴为x、纵轴为y的坐标系原点,(0,0)位置开始,它根据一组函数指令的控制,在这个平面坐标系中移动&…

Win11打开移动热点后电脑无法上网怎么办?

Win11打开移动热点后电脑无法上网怎么办?有用户将自己的电脑开启移动热点来使用的时候,发现自己的电脑出现了无法上网的情况。那么为什么开启热点之后,就会无法进行上网呢?来看看以下的解决方法分享吧。 Win11打开移动热点无法上网…

【Python】matplotlib画散点图,并根据目标列的类别来设置颜色区间(含源代码及参数解释)

最近在进行绘图时,遇到了matplotlib画散点图,并根据目标列的类别来设置颜色区间的问题,但是实现的过程较为艰辛。 文章目录 一、数据准备二、第一次尝试(失败及其原因)2.1 失败2.2 原因 三、第二次尝试(成功…

算法记录lday3 LinkedList 链表移除 + 链表构建 + 链表反转reverse

今日任务 ● 链表理论基础 ● 203.移除链表元素 ● 707.设计链表 ● 206.反转链表 链表理论基础 建议:了解一下链接基础,以及链表和数组的区别 文章链接:https://programmercarl.com/%E9%93%BE%E8%A1%A8%E7%90%86%E8%AE%BA%E5%9F%BA%E7%A…

JavaWeb搭建| Tomcat配置| Maven依赖|这一篇就够了(超详细)

🙈作者简介:练习时长两年半的Java up主 🙉个人主页:老茶icon 🙊 ps:点赞👍是免费的,却可以让写博客的作者开兴好久好久😎 📚系列专栏:Java全栈,计…

记录自己第一次项目管理(附件:WBS计划与会议纪要模板)

记录自己第一次项目管理 前言 20**年新入职到一家公司,刚到就接到紧急任务,因为上一个后端跑路,现在系统上出现接口报错、假接口的问题,客户又着急验收,所以入职之后,一直在着急改代码。最后因为系统没有…

思科模拟器 | 生成树协议STP、RSTP、HSRP配置

一、生成树协议STP 概念介绍: 生成树协议是一种网络协议,用于在交换机之间建立逻辑上的树形拓扑结构避免产生环路。为了完成这个功能,生成树协议需要进行些配置,包括根桥的选举、端口的状态切换等。 步骤明细: 使用思…

游戏测试的面试技巧

游戏测试的面试技巧 1.自我介绍 回答提示:一般人回答这个问题过于平常,只说姓名、年龄、爱好、工作经验 ,这些在简历上都有,其实,企业最希望知道的是求职者能否胜任工作,包括:最强的技能、最深入…

实现PXE批量网络装机及kickstrat无人值守安装(富士山终究留不住欲落的樱花)

一、PXE概述和部署PXE批量装机 1.PXE简介 PXE(预启动执行环境,在操作系统之前运行)是由Intel公司开发的网络引导技术,c/s架构,允许客户机通过网络从远程服务器下载引导镜像,并加载安装文件或者整个操作系统…

燃气管道定位83KHZ地下电子标识器探测仪ED-8000操作指南

1、电子标识器探测工作 燃气管道定位83KHZ地下电子标识器探测仪ED-8000,探测时周边 3 米范围内不能有其他探测仪,保持探测仪垂直向 下,探测仪的末端距离地面 5~10cm 左右,延估计的埋地管线走向水平移动探测仪。当发现持续信号且信…

RuntimeError: “LayerNormKernelImpl“ not implemented for ‘Long‘解决方法

问题出现的场景: 输入: import torch import torch.nn as nn atorch.randint(10,[3,4]) # atorch.DoubleTensor(a) # aa.double() print(a) layer_normnn.LayerNorm(4) layer_norm(a) 我就是想测试一下经过layernorm之后的输出会变成什么样 但是报错…

量表题如何分析?

量表是一种测量工具,量表设计标准有很多,并且每种量表的设计都有各自的特性,不同量表的特性也决定了测量尺度,在数据分析中常用的量表为李克特量表。李克特量表1932年由美国社会心理学家李克特在当时原有总加量表的基础上进行改进…

eBPF的发展演进---从石器时代到成为神(二)

3. 发展溯源 回顾技术的发展过程,就像观看非洲大草原日出日落一样,宏大的过程让人感动,细节部分引人深思。每天循环不辍,却又每天不同。 BPF的应用早已超越了它最初的设计,但如果要追溯BPF最初的来源,则必…

kubernetes为何需要默认的serviceaccount?

文章目录 什么是k8s的serviceAccount?为什么每一个ns下都有默认的sa?default sa yaml 默认的sa下都会挂一个secret,这个secret是从哪里来的?一道关于RBAC的CKA考题1、创建一个新的 ServiceAccount2、创建一个新的 Role3、创建一个…