python实现scoket支持IPV6报错:[Errno 32] Broken pipe

一、问题描述:
公司业务代码要求支持PV6场景,代码做了修改,但是放到环境出现了问题。
异常信息:[Errno 32] Broken pipe

[ERROR] 2021-03-09 13:02:27,373 /opt/mcu/nms_starter/starter/threads/msg_threads.py 115: [graphite_statistic_thread] [Errno 32] Broken pipe

异常抛出点:
在这里插入图片描述
二、找问题:
首先根据报错信息:[Errno 32] Broken pipe 一顿狂百度,stackoverflow上搜,搜的大部分都是:**这个错误发生在当client端close了当前与你的server端的socket连接,但是你的server端在忙着发送数据给一个已经断开连接的socket。**但是通过查看进程发现并没有断开,正常连接,最后有看了socket支持连接IPV6的源码,写的也没问题:socket(socket.AF_INET6)
最后通过打印日志信息发现了问题:
在这里插入图片描述这地方是为了接口ip带向[]做过的处理,我们socket不需要[],self.socket.connect((GRAPHITE_IP, int(GRAPHITE_PORT)))这里面直接ip参数就行了,也就是 GRAPHITE_IP = 2001:5::c0:c0:2:61

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值