在写一个web services接口的时候发现出现如题的异常,刚开始的时候想到一个和这个很类似的异常,java.net.BindException: Address already in use: JVM_Bind,觉得这两个差不多,但是深究起来发现还是不同的,基本上就我遇到的问题:Address already in use是在绑定socket时,由于指定的端口已经被其他的进程占用了,所以出现这个问题。
但是对于Cannot assign requested address这个信息,则是由于我的网络是连接无线网络的,DHCP服务器给我改分配一个动态IP地址,之前一直用这个IP,后来它又给我换了一个IP地址,导致之前的IP不能用了,即访问不到了,所以出现Cannot assign requested address这个错误。
所以对我来说,总之:
- java.net.BindException: Cannot assign requested address: bind:是由于IP地址变化导致的;
- java.net.BindException: Address already in use: JVM_Bind:是由于端口被别的进程占用导致的,或者别的进程不使用后还没有释放;
相关文章: