socket:OSError: [Errno 99] Cannot assign requested address

这篇具有很好参考价值的文章主要介绍了socket:OSError: [Errno 99] Cannot assign requested address。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

  1. 在编写一个socket程序时使用了如下代码

sock = socket.socket(socket.AF_INET, socket.SOCK_DGRAM, socket.IPPROTO_UDP)
local_ip = socket.gethostbyname(socket.gethostname())
sock.bind((local_ip, mcast_group_port))
  1. 但在执行时却发生异常

Traceback (most recent call last):
  File "r.py", line 42, in <module>
    receiver()
  File "r.py", line 18, in receiver
    sock.bind((local_ip, mcast_group_port))
OSError: [Errno 99] Cannot assign requested address
  1. 意思就是说没办法分配获取到的IP地址,然后debug了一下获取到的IP地址以及主机查询到的IP地址果然存在冲突

[root@panavm222 ~]# python3
Python 3.6.8 (default, Nov 16 2020, 16:55:22) 
[GCC 4.8.5 20150623 (Red Hat 4.8.5-44)] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import socket
>>> local_ip = socket.gethostbyname(socket.gethostname())
>>> print(local_ip)
192.168.4.222
>>> exit()
[root@panavm222 ~]# ip addr show eth0
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000
    link/ether 56:6f:96:77:00:46 brd ff:ff:ff:ff:ff:ff
    inet 192.168.4.224/24 brd 192.168.4.255 scope global noprefixroute eth0
       valid_lft forever preferred_lft forever
    inet6 fe80::d91e:d021:c49:87bb/64 scope link tentative noprefixroute dadfailed 
       valid_lft forever preferred_lft forever
    inet6 fe80::c21a:ccf0:f5a3:3697/64 scope link tentative noprefixroute dadfailed 
       valid_lft forever preferred_lft forever
    inet6 fe80::3841:10d6:b92f:ec7f/64 scope link tentative noprefixroute dadfailed 
       valid_lft forever preferred_lft forever
  1. 这个时候出现了有意思的地方,为什么代码获取的仍然是我修改ip之前的IP地址4.222,而不是修改之后的4.224,这个时候将这个已经不存在的4.222赋给绑定监听一定会报错的呢文章来源地址https://www.toymoban.com/news/detail-517740.html

到了这里,关于socket:OSError: [Errno 99] Cannot assign requested address的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • bind失败Cannot assign requested address

    bind失败,可能是设置的端口号问题。 Linux使用命令: sysctl -a |grep port_range 去查看机子的可用端口。 net.ipv4.ip_local_port_range = 32768 60999 端口可用是32768到60999。 设置端口时,我的机子应该使用的端口是32768~60999是可用的。 修改端口再重新开启TCP server服务器。

    2024年02月11日
    浏览(41)
  • 使用阿里云服务器,httplib库在listen过程中,出现Cannot assign requested address错误???

    今天,在做一个小项目的时候,使用httplib库进行建立tcp连接,但是一旦程序开始,并没有等待tcp连接的到来,而是直接结束了。 打印一下strerror(errno) 根本就没有进行客户端的连接。 找了一下午,检测是否打开端口、是否收到防火墙的影响等待,最终还是没有发现问题。 最

    2024年02月05日
    浏览(37)
  • OSError: [Errno 28] No space left on device

    1、问题记录 在Linux系统上,运行python程序生成文件时,提示错误信息: OSError: [Errno 28] No space left on device 2、问题分析 导致 OSError: [Errno 28] No space left on device 问题可能是:block满了,或者inode满了,或者其他情况。在运行程序生成文件时出现这个问题,大多数是block满了导致的

    2024年02月16日
    浏览(32)
  • 出现OSError: [Errno 24] Too many open files错误解决方法。

    出现了: 这是因为 1,打开文件太多 2,其实不然,是线程限制,通常我们采用更改限制即可。 输入下面的命令看一下:  输出:1024 果然如我所预想,得到的结果是1024,就是说系统限制为同时打开1024个文件。 修改方法: 1、将自己的线程数改小,使之符合这个限制(只是方

    2024年02月16日
    浏览(34)
  • 成功解决BUG:OSError: [Errno 9] Bad file descriptor(Python BUG)

    成功解决BUG:OSError: [Errno 9] Bad file descriptor 在 Python 代码编写过程中,会出现如下错误: OSError: [Errno 9] Bad file descriptor 该错误翻译为中文是: 将一个无效的文件句柄(-1)传递给 os.close() 函数,它试图关闭该文件句柄。 由于该文件句柄无效,会引发TypeError,错误消息将显示为

    2024年02月12日
    浏览(24)
  • ERROR: Could not install packages due to an OSError: [Errno 2] No such file or directory:报错处理 ERROR: Could not install packages due to an OSError: [Errno 2] No such file or directory:报错处理

    需要特别注意的是,安装MNE时候需要注意环境,我的是激活tensorflow后安装在相应的文件夹之下的。而前面的括号(cat)是我给我的tensorflow命名的。不要在意这些细节了。哈哈。 安装MNE工具包出现报错: ERROR: Could not install packages due to an OSError: [Errno 2] No such file or directory: \\\'d

    2024年02月13日
    浏览(44)
  • 【解决】OSError: cannot write mode F as PNG

    问题: 将图像所表示的矩阵转换为图像并保存为 png 格式时报错: OSError: cannot write mode F as PNG,报错信息如下: 原因分析: 这里的 mode F 意思是图像中浮点类型的像素值,原因是我代码中的 img 数组是 float 类型的,而图像中每个像素的值应该是 0-255(uint8 类型)。 解决办法: 将 img

    2024年02月13日
    浏览(37)
  • OSError: cannot write mode RGBA as JPEG解决办法

    当用labelme标注图片时,打开存放图片的文件夹,出现闪退,控制台出现以下报错: 这是因为你的图像是rgba四个通道的,第四个通道是透明通道。 错误原因主要是因为png格式和jpg格式图片的通道数不同。 png是四通道:RGBA意思是红色,绿色,蓝色,Alpha的色彩空间,Alpha指透明

    2024年01月18日
    浏览(28)
  • pip安装ERROR: Could not install packages due to an OSError: [Errno 28] No space left on device解决方案

      大家好,我是爱编程的喵喵。双985硕士毕业,现担任全栈工程师一职,热衷于将数据思维应用到工作与生活中。从事机器学习以及相关的前后端开发工作。曾在阿里云、科大讯飞、CCF等比赛获得多次Top名次。现为CSDN博客专家、人工智能领域优质创作者。   本文主要介

    2024年02月16日
    浏览(40)
  • 安装报错:Could not install packages due to an OSError: [Errno 2] No such file or directory: ‘\\METADATA‘

    安装指令: 报错如下: 解决方法: 按照报错中的路径 找到:“numpy-1.21.6.dist-info”并删除 即可成功安装:

    2024年02月11日
    浏览(47)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包