原因:
嘗試使用Dubbo的multicast模式,發現一運行就報Can't assign requested address的錯誤,造成這種原因的主要是系統中開啟了IPV6協議(比如window7),java網絡編程經常會獲取到IPv6的地址,這明顯不是我們想要的結果,搜索發現很多蹩腳的做法是:禁止IPv6協議。
解決方法: 在虛擬機的運行參數里,加入下面的參數。
-Djava.net.preferIPv4Stack=true
這時,就能解決Can't assign requested address的報錯,成功調用服務了。