java.net.BindException: Cannot assign requested address

10,938

You should bind to 0.0.0.0 instead of trying to specify a local-address.

Share:
10,938
Mahadi Siregar
Author by

Mahadi Siregar

Updated on June 04, 2022

Comments

  • Mahadi Siregar
    Mahadi Siregar about 2 years

    I want to use low port in my application (SNMP Trap Receiver on Spring web + Tomcat7). As I told in this thread Binding Low Port to Java Program on Ubuntu Server, before, I got error Permission denied. Then I change tomcat7 user group be root. But after that, I got java.net.BindException: Cannot assign requested address error. For every port that I try (low or high port), I always got this error.

    I check if the port has used, I see that the port still free. I check my /etc/host content, it is like this:

    127.0.0.1 localhost 
    127.0.1.1 test-server 
    # The following lines are desirable for IPv6 capable hosts 
    ::1 localhost ip6-localhost ip6-loopback 
    ff02::1 ip6-allnodes 
    ff02::2 ip6-allrouters 
    124.81.xx.x test-server.com
    

    note: my OS is ubuntu server

  • Mahadi Siregar
    Mahadi Siregar about 9 years
    The listener on at 0.0.0.0:162, but when I try send trap to real ip (public ip->124.81.xx.xx), the trap is not catched
  • Mahadi Siregar
    Mahadi Siregar about 9 years
    Sorry, today I try it again and it working well. I do not know why yesterday it was not working, maybe I missed something. Thank you for the answer.
  • user207421
    user207421 about 9 years
    You can't bind to any address that isn't a local IP address of the localhost. You can't for example bind to the outside address provided by an external router.