Recently encountered a bind() error 0x63 – cannot assign requested address. After some effort on debugging, I list 2 possibilities here for reference when handling such this error code from bind(). Generally, if it is related with bad socket close/cleanup, we have to fix the bug within application code or wait some time to make sure the scoket is shutdown by OS finally; if it is related with IP removed, we need to add this IP again. May it help.
1. socket state legacy - netstat <sch01-s00c06h0:root>/root: # netstat -an | grep 10.206.254.1 tcp 0 0 10.206.254.1:3868 10.206.218.4:33594 TIME_WAIT 2. IP removed on certain interface - ifconfig <sch01-s00c06h0:root>/root: # ifconfig -a | grep 10.206.254.1 <sch01-s00c06h0:root>/root: # ifconfig eth0.800:wAAAA 10.206.254.1 netmask 255.255.128.0 <sch01-s00c06h0:root>/root: # ifconfig -a | grep 10.206.254.1 inet addr:10.206.254.1 Bcast:10.206.255.255 Mask:255.255.128.0 PS. extra info of IP before removed - ifconfig eth0.800:wAAAA Link encap:Ethernet HWaddr 52:54:00:50:00:60 inet addr:10.206.254.1 Bcast:10.206.255.255 Mask:255.255.128.0 UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1