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