{"id":1356,"date":"2022-10-31T22:52:17","date_gmt":"2022-10-31T14:52:17","guid":{"rendered":"https:\/\/qaqaq.top\/?p=1356"},"modified":"2022-11-27T12:39:46","modified_gmt":"2022-11-27T04:39:46","slug":"io%e6%b5%81%e4%b8%8e%e7%bd%91%e7%bb%9c%e7%bc%96%e7%a8%8b-tcp%e7%bd%91%e7%bb%9c%e7%bc%96%e7%a8%8b%e4%be%8b%e9%a2%983","status":"publish","type":"post","link":"https:\/\/qaqaq.top\/?p=1356","title":{"rendered":"IO\u6d41\u4e0e\u7f51\u7edc\u7f16\u7a0b-TCP\u7f51\u7edc\u7f16\u7a0b\u4f8b\u98983"},"content":{"rendered":"\n<pre class=\"wp-block-code\"><code>package top.qaqaq.java.P626;\r\n\r\nimport org.junit.jupiter.api.Test;\r\n\r\nimport java.io.*;\r\nimport java.net.InetAddress;\r\nimport java.net.ServerSocket;\r\nimport java.net.Socket;\r\n\r\n\/**\r\n * \u5b9e\u73b0TCP\u7684\u7f51\u7edc\u7f16\u7a0b\r\n * \u4f8b\u98983\uff1a\u4ece\u5ba2\u6237\u7aef\u53d1\u9001\u6587\u4ef6\u7ed9\u670d\u52a1\u7aef\uff0c\u670d\u52a1\u7aef\u4fdd\u5b58\u5230\u672c\u5730\u3002\u5e76\u8fd4\u56de\u201c\u53d1\u9001\u6210\u529f\u201d\u7ed9\u5ba2\u6237\u7aef\u3002\r\n * \u5e76\u5173\u95ed\u76f8\u5e94\u7684\u8fde\u63a5\u3002\r\n *\r\n * @author RichieZhang\r\n * @create 2022-10-31 \u4e0b\u5348 10:25\r\n *\/\r\npublic class TCPTest3 {\r\n\r\n    \/*\r\n    \u8fd9\u91cc\u6d89\u53ca\u5230\u7684\u5f02\u5e38\uff0c\u5e94\u8be5\u4f7f\u7528try-catch-finally\u5904\u7406\r\n     *\/\r\n\r\n    @Test\r\n    public void client() throws IOException {\r\n        \/\/ 1.\r\n        Socket socket = new Socket(InetAddress.getByName(\"127.0.0.1\"), 9090);\r\n        \/\/ 2.\r\n        OutputStream os = socket.getOutputStream();\r\n        \/\/ 3.\r\n        FileInputStream fis = new FileInputStream(new File(\"beauty.jpg\"));\r\n        \/\/ 4.\r\n        byte&#91;] buffer = new byte&#91;1024];\r\n        int len;\r\n        while ((len = fis.read(buffer)) != -1){\r\n            os.write(buffer,0,len);\r\n        }\r\n        \/\/\u5173\u95ed\u6570\u636e\u7684\u8f93\u51fa\r\n        socket.shutdownOutput();\r\n\r\n        \/\/ 5. \u63a5\u53d7\u6765\u81ea\u4e8e\u670d\u52a1\u5668\u7aef\u7684\u6570\u636e\uff0c\u5e76\u663e\u793a\u5230\u63a7\u5236\u53f0\u4e0a\r\n        InputStream is = socket.getInputStream();\r\n\r\n        ByteArrayOutputStream baos = new ByteArrayOutputStream();\r\n        byte&#91;] buffer1 = new byte&#91;20];\r\n        int len1;\r\n        while ((len1 = is.read(buffer1)) != -1){\r\n            baos.write(buffer1,0,len1);\r\n        }\r\n\r\n        System.out.println(baos.toString());\r\n\r\n        \/\/ 6.\r\n        fis.close();\r\n        os.close();\r\n        socket.close();\r\n        baos.close();\r\n\r\n    }\r\n\r\n    \/*\r\n    \u8fd9\u91cc\u6d89\u53ca\u5230\u7684\u5f02\u5e38\uff0c\u5e94\u8be5\u4f7f\u7528try-catch-finally\u5904\u7406\r\n     *\/\r\n    @Test\r\n    public void server() throws IOException {\r\n        \/\/ 1.\r\n        ServerSocket ss = new ServerSocket(9090);\r\n        \/\/ 2.\r\n        Socket socket = ss.accept();\r\n        \/\/ 3.\r\n        InputStream is = socket.getInputStream();\r\n        \/\/ 4.\r\n        FileOutputStream fos = new FileOutputStream(new File(\"beauty2.jpg\"));\r\n        \/\/ 5.\r\n        byte&#91;] buffer = new byte&#91;1024];\r\n        int len;\r\n        while ((len = is.read(buffer)) != -1){\r\n            fos.write(buffer,0,len);\r\n        }\r\n\r\n        System.out.println(\"\u56fe\u7247\u4f20\u8f93\u5b8c\u6210\");\r\n\r\n        \/\/6. \u670d\u52a1\u5668\u7aef\u7ed9\u4e88\u5ba2\u6237\u7aef\u53cd\u9988\r\n        OutputStream os = socket.getOutputStream();\r\n        os.write(\"\u4f60\u597d\uff0c\u7f8e\u5973\uff0c\u7167\u7247\u6211\u5df2\u6536\u5230\uff0c\u975e\u5e38\u6f02\u4eae\uff01\".getBytes());\r\n\r\n\r\n        \/\/ 7.\r\n        fos.close();\r\n        is.close();\r\n        socket.close();\r\n        ss.close();\r\n        os.close();\r\n\r\n    }\r\n}\r\n<\/code><\/pre>\n","protected":false},"excerpt":{"rendered":"","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[8],"tags":[46],"class_list":["post-1356","post","type-post","status-publish","format-standard","hentry","category-java-code","tag-java"],"_links":{"self":[{"href":"https:\/\/qaqaq.top\/index.php?rest_route=\/wp\/v2\/posts\/1356"}],"collection":[{"href":"https:\/\/qaqaq.top\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/qaqaq.top\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/qaqaq.top\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/qaqaq.top\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=1356"}],"version-history":[{"count":1,"href":"https:\/\/qaqaq.top\/index.php?rest_route=\/wp\/v2\/posts\/1356\/revisions"}],"predecessor-version":[{"id":1357,"href":"https:\/\/qaqaq.top\/index.php?rest_route=\/wp\/v2\/posts\/1356\/revisions\/1357"}],"wp:attachment":[{"href":"https:\/\/qaqaq.top\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=1356"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/qaqaq.top\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=1356"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/qaqaq.top\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=1356"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}