zoukankan      html  css  js  c++  java
  • Cannot assign requested address出现的原因及解决方案

    今天使用python多线程请求服务时,出现Cannot assign requested address错误

    网上找了下原因,大致上是由于客户端频繁的连服务器,由于每次连接都在很短的时间内结束,导致很多的TIME_WAIT,以至于用光了可用的端 口号,所以新的连接没办法绑定端口,即“Cannot assign requested address”。是客户端的问题不是服务器端的问题。通过netstat,的确看到很多TIME_WAIT状态的连接。

    client端频繁建立连接,而端口释放较慢,导致建立新连接时无可用端口。

    netstat -a|grep TIME_WAIT
    tcp        0      0 e100069210180.zmf:49477     e100069202104.zmf.tbs:websm TIME_WAIT   
    tcp        0      0 e100069210180.zmf:49481     e100069202104.zmf.tbs:websm TIME_WAIT   
    tcp        0      0 e100069210180.zmf:49469     e100069202104.zmf.tbs:websm TIME_WAIT   
    tcp        0      0 e100069210180.zmf:49505     e100069202104.zmf.tbs:websm TIME_WAIT   
    tcp        0      0 e100069210180.zmf:49547     e100069202104.zmf.tbs:websm TIME_WAIT   
    tcp        0      0 e100069210180.zmf:49513     e100069202104.zmf.tbs:websm TIME_WAIT   
    tcp        0      0 e100069210180.zmf:49543     e100069202104.zmf.tbs:websm TIME_WAIT   
    tcp        0      0 e100069210180.zmf:49571     e100069202104.zmf.tbs:websm TIME_WAIT   
    tcp        0      0 e100069210180.zmf:49488     e100069202104.zmf.tbs:websm TIME_WAIT   
    tcp        0      0 e100069210180.zmf:49582     e100069202104.zmf.tbs:websm TIME_WAIT   
    tcp        0      0 e100069210180.zmf:49476     e100069202104.zmf.tbs:websm TIME_WAIT   
    tcp        0      0 e100069210180.zmf:49462     e100069202104.zmf.tbs:websm TIME_WAIT   
    tcp        0      0 e100069210180.zmf:49561     e100069202104.zmf.tbs:websm TIME_WAIT   
    tcp        0      0 e100069210180.zmf:49259     e100069202104.zmf.tbs:websm TIME_WAIT   
    tcp        0      0 e100069210180.zmf:49371     e100069202104.zmf.tbs:websm TIME_WAIT   
    tcp        0      0 e100069210180.zmf:49455     e100069202104.zmf.tbs:websm TIME_WAIT   
    tcp        0      0 e100069210180.zmf:49572     e100069202104.zmf.tbs:websm TIME_WAIT   
    tcp        0      0 e100069210180.zmf:49509     e100069202104.zmf.tbs:websm TIME_WAIT   
    tcp        0      0 e100069210180.zmf:49546     e100069202104.zmf.tbs:websm TIME_WAIT   
    tcp        0      0 e100069210180.zmf:49539     e100069202104.zmf.tbs:websm TIME_WAIT   
    tcp        0      0 e100069210180.zmf:49468     e100069202104.zmf.tbs:websm TIME_WAIT   
    tcp        0      0 e100069210180.zmf:49496     e100069202104.zmf.tbs:websm TIME_WAIT   
    tcp        0      0 e100069210180.zmf:49313     e100069202104.zmf.tbs:websm TIME_WAIT   
    tcp        0      0 e100069210180.zmf:49479     e100069202104.zmf.tbs:websm TIME_WAIT   
    tcp        0      0 e100069210180.zmf:49486     e100069202104.zmf.tbs:websm TIME_WAIT   
    tcp        0      0 e100069210180.zmf:49452     e100069202104.zmf.tbs:websm TIME_WAIT   
    tcp        0      0 e100069210180.zmf:49500     e100069202104.zmf.tbs:websm TIME_WAIT   
    tcp        0      0 e100069210180.zmf:49447     e100069202104.zmf.tbs:websm TIME_WAIT   
    tcp        0      0 e100069210180.zmf:49580     e100069202104.zmf.tbs:websm TIME_WAIT   
    tcp        0      0 e100069210180.zmf:49565     e100069202104.zmf.tbs:websm TIME_WAIT   
    tcp        0      0 e100069210180.zmf:49454     e100069202104.zmf.tbs:websm TIME_WAIT   
    tcp        0      0 e100069210180.zmf:49499     e100069202104.zmf.tbs:websm TIME_WAIT   
    tcp        0      0 e100069210180.zmf:49494     e100069202104.zmf.tbs:websm TIME_WAIT   
    tcp        0      0 e100069210180.zmf:49591     e100069202104.zmf.tbs:websm TIME_WAIT   
    tcp        0      0 e100069210180.zmf:49566     e100069202104.zmf.tbs:websm TIME_WAIT   
    tcp        0      0 e100069210180.zmf:49557     e100069202104.zmf.tbs:websm TIME_WAIT   
    tcp        0      0 e100069210180.zmf:49495     e100069202104.zmf.tbs:websm TIME_WAIT

    解决办法

    执行命令修改如下2个内核参数 (需要root权限) 
    sysctl -w net.ipv4.tcp_timestamps=1  开启对于TCP时间戳的支持,若该项设置为0,则下面一项设置不起作用
    sysctl -w net.ipv4.tcp_tw_recycle=1  表示开启TCP连接中TIME-WAIT sockets的快速回收

  • 相关阅读:
    笔记35 跨重定向请求传递数
    判断邮箱的正则表达式
    按钮
    async await 的用法
    笔记34 Spring MVC的高级技术——处理multipart形式的数据
    Convert Sorted Array to Binary Search Tree
    Binary Tree Zigzag Level Order Traversal
    Unique Binary Search Trees,Unique Binary Search Trees II
    Validate Binary Search Tree
    Populating Next Right Pointers in Each Node,Populating Next Right Pointers in Each Node II
  • 原文地址:https://www.cnblogs.com/duanxingxing/p/5686159.html
Copyright © 2011-2022 走看看