{"id":727,"date":"2018-03-15T16:08:43","date_gmt":"2018-03-15T08:08:43","guid":{"rendered":"http:\/\/www.max-shu.com\/blog\/?p=727"},"modified":"2018-03-15T16:08:43","modified_gmt":"2018-03-15T08:08:43","slug":"%e7%94%a8java%e8%af%ad%e8%a8%80%e5%9c%a8ipv6%e4%b8%8b%e7%9a%84socket%e9%80%9a%e4%bf%a1%e7%bc%96%e7%a8%8b","status":"publish","type":"post","link":"http:\/\/www.max-shu.com\/blog\/?p=727","title":{"rendered":"\u7528java\u8bed\u8a00\u5728IPV6\u4e0b\u7684socket\u901a\u4fe1\u7f16\u7a0b"},"content":{"rendered":"<div>\n<p>\u5728java\u4e0b\uff0c\u5982\u679c\u4f7f\u7528\u4e3b\u673a\u540d\u6216\u8005dns\u89e3\u6790\u6765\u8fdb\u884cipv6\u7684socket\u901a\u4fe1\u7f16\u7a0b\uff0c\u4ee3\u7801\u548c\u5728ipv4\u4e0b\u4e00\u6837\u3002<\/p>\n<p><b>\u5ba2\u6237\u7aef\uff1a<\/b><\/p>\n<p>import java.net.*;<\/p>\n<p>import java.io.*;<\/p>\n<p>void client(String name) {<\/p>\n<p>Socket s = new Socket(name, 8080);<\/p>\n<p>InputStream in = s.getInputStream();<\/p>\n<p>\/\/&#8230;<\/p>\n<p>in.close();<\/p>\n<p>}<\/p>\n<p><b>\u670d\u52a1\u7aef\uff1a<\/b><\/p>\n<p>ServerSocket server =new ServerSocket(port);<\/p>\n<p>Socket s;<\/p>\n<p>while (true) {<\/p>\n<p>s = server.accept();<\/p>\n<p>doClientStuff(s);<\/p>\n<p>}<\/p>\n<p><b>\u914d\u7f6e\uff1a<\/b><\/p>\n<p>\u542f\u52a8jvm\u65f6\uff0c\u901a\u8fc7\u5e26\u53c2\u6570\u6765\u8bbe\u7f6e\u4f18\u5148\u4f7f\u7528ipv4\u8fd8\u662fipv6\u5730\u5740\uff1a<\/p>\n<p>-Djava.net.preferIPv4Stack=true<\/p>\n<p>-Djava.net.preferIPv6Addresses=true<\/p>\n<p><b>\u5982\u679c\u8981\u76f4\u63a5\u4f7f\u7528\u5177\u4f53\u7684ipv6\u5730\u5740\uff0c\u5219\u9700\u8981\u4f7f\u7528InetAddress\u548cInet6Address\u6765\u5224\u65ad\u548c\u8bbe\u7f6e\uff1a<\/b><\/p>\n<p>InetAddress a = InetAddress.getByName(\u201cwww.sun.com\u201d);<\/p>\n<p>\/* InetAddress a = InetAddress.getByName(\u201c2002:fe76:6523::1\u201d); *\/<\/p>\n<p>\/* InetAddress a = InetAddress.getByName(\u201c211.45.65.2\u201d); *\/<\/p>\n<p>if (a instanceof Inet6Address) {<\/p>\n<p>Inet6Address a2 = (Inet6Address) a;<\/p>\n<p>if (a2.isIPv4CompatibleAddress()) {<\/p>\n<p>&#8230;<\/p>\n<p>}<\/p>\n<p>if (a2.isLinkLocalAddress()) {<\/p>\n<p>&#8230;<\/p>\n<p>}<\/p>\n<p>}<\/p>\n<\/div>\n<p>&nbsp;<\/p>\n","protected":false},"excerpt":{"rendered":"<p>\u5728java\u4e0b\uff0c\u5982\u679c\u4f7f\u7528\u4e3b\u673a\u540d\u6216\u8005dns\u89e3\u6790\u6765\u8fdb\u884cipv6\u7684socket\u901a\u4fe1\u7f16\u7a0b\uff0c\u4ee3\u7801\u548c\u5728ipv4\u4e0b\u4e00\u6837\u3002 \u5ba2\u6237 &hellip;<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[186],"tags":[533,287,346,347],"class_list":["post-727","post","type-post","status-publish","format-standard","hentry","category-186","tag-ipv6","tag-java","tag-socket","tag-347"],"views":3268,"_links":{"self":[{"href":"http:\/\/www.max-shu.com\/blog\/index.php?rest_route=\/wp\/v2\/posts\/727","targetHints":{"allow":["GET"]}}],"collection":[{"href":"http:\/\/www.max-shu.com\/blog\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/www.max-shu.com\/blog\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/www.max-shu.com\/blog\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"http:\/\/www.max-shu.com\/blog\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=727"}],"version-history":[{"count":1,"href":"http:\/\/www.max-shu.com\/blog\/index.php?rest_route=\/wp\/v2\/posts\/727\/revisions"}],"predecessor-version":[{"id":728,"href":"http:\/\/www.max-shu.com\/blog\/index.php?rest_route=\/wp\/v2\/posts\/727\/revisions\/728"}],"wp:attachment":[{"href":"http:\/\/www.max-shu.com\/blog\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=727"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/www.max-shu.com\/blog\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=727"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/www.max-shu.com\/blog\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=727"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}