今天发现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 ",重起即可.
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和端口试试,有可能两台机器根本就不通啊。