`
wenson
  • 浏览: 1042140 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

解决java.net.SocketException: Invalid argument or cannot assign requested address

阅读更多
今天发现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和端口试试,有可能两台机器根本就不通啊。

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics