今天發現facebook app讀取facebook上的api時發生以下錯誤:
java.net.SocketException : Invalid argument or cannot assign requested address
解法: linux系統下,照抄别人的方法 ======================================================================= 禁用IPV6,是比較好的解決方法.
修改 /etc/modprobe.conf 檔案,增加
alias net-pf-10 off
alias ipv6 off
這樣就不用增加參數 "-Djava.net.preferIPv4Stack=true ",重起即可. =======================================================================
java.net.SocketException: Invalid argument or cannot assign requested address
似乎就是無法通路端口。
經查,原來是ipv6的問題。如果系統安裝了ipv6,jdk就無法連接配接任何ipv4的主機了,于是出錯了。
解決方法是,在環境變量中加入:JAVA_OPTS="-Djava.net.preferIPv4Stack=true"
=======================================================================
在etc下面的profile檔案(字尾忘了,大概是cnf)中增加
export JAVA_OPTS="-Djava.net.preferIPv4Stack=true"
重新開機機器即可
大概意思就是說IPv6占用了端口,然後在環境變量中将IPv4置為啟動狀态
2.在你的機器上ping一下Socket要連接配接的那台機器看看能不能通,在用telnet連接配接一下主機的IP和端口試試,有可能兩台機器根本就不通啊。