在完全剛裝好的fc4上用jdbc進(jìn)行數(shù)據(jù)庫(kù)操作出現(xiàn)了一下錯(cuò)誤:
?java.net.SocketException: Invalid argument or cannot assign requested address
at java.net.PlainSocketImpl.socketConnect(Native Method)
at java.net.PlainSocketImpl.doConnect(PlainSocketImpl.java:305)
at java.net.PlainSocketImpl.connectToAddress(PlainSocketImpl.java:171)
at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:158)
at java.net.Socket.connect(Socket.java:452)
at java.net.Socket.connect(Socket.java:402)
at java.net.Socket.<init>(Socket.java:309)
at java.net.Socket.<init>(Socket.java:124)?
?????? 這是IP地址的問題,在FC4中默認(rèn)的是IPv6 socket,JDK1.4支持的應(yīng)該是IPv4,具體原因可以查看SUN公司給出的解釋.
解決辦法是在運(yùn)行JAVA程序時(shí)加上 -Djava.net.preferIPv4Stack=true 如:
java -Djava.net.preferIPv4Stack=true application.
但是這個(gè)在每次都要加上這句話,另有解決方法是 修改 /etc/modprobe.conf 文件,增加
alias net-pf-10 off
alias ipv6 off
這樣就不用增加參數(shù) "-Djava.net.preferIPv4Stack=true ",重起即可.
但是既要ipv6又能解決這個(gè)問題的方法還沒找到。希望高人指點(diǎn)