{"id":475,"date":"2023-03-29T10:56:03","date_gmt":"2023-03-29T02:56:03","guid":{"rendered":"https:\/\/www.coni.top\/blog\/?p=475"},"modified":"2023-03-30T22:37:30","modified_gmt":"2023-03-30T14:37:30","slug":"zai_socket_tong_xin_zhong_udp_xie_yi_xia_shi_yong_recvfrom","status":"publish","type":"post","link":"https:\/\/www.coni.top\/blog\/?p=475","title":{"rendered":"\u5728Socket\u901a\u4fe1\u4e2d\uff0cUDP\u534f\u8bae\u4e0b\u4f7f\u7528recvfrom\u83b7\u53d6\u7684\u7aef\u53e3\u53f7\u4e0esendto\u53d1\u9001\u7684\u7aef\u53e3\u4e0d\u4e00\u81f4\u539f\u56e0\u5206\u6790"},"content":{"rendered":"\n<p>\u6700\u8fd1\u5728\u5c1d\u8bd5Socket\u901a\u4fe1\u65f6\uff0c\u53d1\u73b0\u5728UDP\u534f\u8bae\u4e0b\uff0cSever\u7aef\u4f7f\u7528recvfrom\u65b9\u6cd5\u83b7\u53d6\u53d1\u9001\u7aef\u7684ip\u5730\u5740\u548c\u7aef\u53e3\u53f7\u65f6\uff0cIP\u5730\u5740\u6b63\u786e\uff0c\u4f46\u662f\u7aef\u53e3\u53f7\u603b\u662f\u4e0eClient\u7aefsendto\u65b9\u6cd5\u6307\u5b9a\u7684\u7aef\u53e3\u53f7\u4e0d\u4e00\u81f4\uff0c\u4ee3\u7801\u4e0e\u7ed3\u679c\u5982\u4e0b<\/p>\n\n\n\n<p>Sever\u7aef\uff1a<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>import socket\n# \u6301\u7eed\u901a\u4fe1\ns = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)  # \u521b\u5efaUDP\u7c7b\u578b\u7684\u5957\u63a5\u5b57\ns.bind((\"127.0.0.1\", 46551))  # \u7ed1\u5b9a\u7aef\u53e3,ip\u53ef\u4ee5\u4e0d\u5199\nprint(\"\u7b49\u5f85\u63a5\u6536\u6570\u636e\uff01\")\nwhile True:\n    recv_data, recv_addr = s.recvfrom(1024)  # 1024\u8868\u793a\u672c\u6b21\u63a5\u6536\u7684\u6700\u5927\u5b57\u8282\u6570\uff0crecvfrom\u4e00\u76f4\u76d1\u542c\u77e5\u9053\u7531\u6570\u636e\u88ab\u63a5\u53d7\n    data = recv_data.decode('gbk')\n    print(f\"\u6536\u5230\u8fdc\u7a0b\u4fe1\u606f:{data},from {recv_addr}\")\n    if data == \"exit\":\n        print(\"\u7ed3\u675f\u804a\u5929\uff01\")\n        break\ns.close()<\/code><\/pre>\n\n\n\n<p>Client\u7aef\uff1a<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>import socket\n# UDP\u5ba2\u6237\u7aef\u6301\u7eed\u53d1\u9001\u6d88\u606f\u4ee3\u7801\ns = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)  # \u521b\u5efaUDP\u7c7b\u578b\u7684\u5957\u63a5\u5b57\n#s.bind((\"127.0.0.1\", 46552)) #UDPclient\u7aef\u53ef\u4ee5\u4e0d\u7ed1\u5b9a\u7aef\u53e3\uff0cclient\u7aef\u4e0d\u7ed1\u5b9a\u65f6\u662f\u968f\u673a\u7aef\u53e3\u53d1\u9001\u7684\naddr = (\"127.0.0.1\", 46551)\nwhile True:\n    data = input(\"\u8bf7\u8f93\u5165\uff1a\")\n    s.sendto(data.encode(\"gbk\"), addr)\n    if data == \"exit\":\n        print(\"\u7ed3\u675f\u804a\u5929\uff01\")\n        break\ns.close()<\/code><\/pre>\n\n\n\n<p>\u7ed3\u679c\uff1a<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"626\" src=\"https:\/\/www.coni.top\/blog\/wp-content\/uploads\/2023\/03\/udp1-1024x626.png\" alt=\"\" class=\"wp-image-476\" srcset=\"https:\/\/www.coni.top\/blog\/wp-content\/uploads\/2023\/03\/udp1-1024x626.png 1024w, https:\/\/www.coni.top\/blog\/wp-content\/uploads\/2023\/03\/udp1-300x183.png 300w, https:\/\/www.coni.top\/blog\/wp-content\/uploads\/2023\/03\/udp1-768x470.png 768w, https:\/\/www.coni.top\/blog\/wp-content\/uploads\/2023\/03\/udp1-1536x939.png 1536w, https:\/\/www.coni.top\/blog\/wp-content\/uploads\/2023\/03\/udp1-1200x734.png 1200w, https:\/\/www.coni.top\/blog\/wp-content\/uploads\/2023\/03\/udp1.png 1696w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p>\u53ef\u4ee5\u770b\u5230\u7ec8\u7aef\u4e2d\u8f93\u51fa\u7684\u4fe1\u606f\uff0cSever\u7aefrecvfrom\u65b9\u6cd5\u63a5\u6536\u5230\u7684\u7aef\u53e3\u53f7\u4e0d\u662fsendto\u6307\u5b9a\u768446551\u7aef\u53e3\uff0c\u800c\u4e14\u6bcf\u6b21\u542f\u52a8\u540eSever\u7aef\u63a5\u6536\u5230\u7684\u7aef\u53e3\u90fd\u4e0d\u4e00\u6837\uff0c\u8fd9\u91cc\u5176\u5b9e\u662f\u56e0\u4e3a\u5728UDP\u534f\u8bae\u4e0b\uff0cClient\u7aef\u5e76\u6ca1\u6709\u7ed1\u5b9a\u7aef\u53e3\u53f7\uff0c\u6240\u4ee5\u662f\u7531\u7cfb\u7edf\u968f\u673a\u6307\u5b9a\u7a7a\u95f2\u7aef\u53e3\u53d1\u9001\u7684\uff0c\u5982\u679c\u5728Client\u7aef\u7ed1\u5b9a\u6307\u5b9a\u7684\u7aef\u53e3 <code>s.bind((\"127.0.0.1\", 46552))<\/code> \u4fbf\u53ef\u7528\u81ea\u5df1\u6307\u5b9a\u7684\u7aef\u53e3 <code>46552<\/code> \u6765\u53d1\u9001\u4fe1\u606f\u3002<\/p>\n\n\n\n<p>\u56e0\u4e3aUDP\u662f\u65e0\u8fde\u63a5\u534f\u8bae\uff0c\u901a\u4fe1\u7684\u4e24\u7aef(\u5373\u53d1\u9001\u65b9\u548c\u63a5\u6536\u65b9)\u53ef\u4ee5\u4efb\u610f\u9009\u62e9\u4efb\u4f55\u7a7a\u95f2\u7684\u7aef\u53e3\u6765\u8fdb\u884c\u901a\u4fe1\uff0c\u5bf9\u4e8e\u63a5\u6536\u65b9\u6765\u8bf4\uff0c\u83b7\u53d6\u5230\u7684\u7aef\u53e3\u53f7\u5e76\u4e0d\u4e00\u5b9a\u4e0e\u53d1\u9001\u65b9\u6240\u7528\u7684\u7aef\u53e3\u53f7\u76f8\u540c\uff0c\u800c\u662f\u4e0e\u53d1\u9001\u65b9\u6240\u5728\u4e3b\u673a\u7684\u7aef\u53e3\u53f7\u76f8\u540c\u3002\u6362\u53e5\u8bdd\u8bf4\uff0c\u53d1\u9001\u65b9\u548c\u63a5\u6536\u65b9\u4f7f\u7528\u7684\u662f\u5404\u81ea\u7684\u7aef\u53e3\u53f7\u6765\u8fdb\u884c\u901a\u4fe1\uff0c\u800c\u4e0d\u662f\u5171\u4eab\u4e00\u4e2a\u7aef\u53e3\u53f7\u3002<\/p>\n","protected":false},"excerpt":{"rendered":"<p>\u6700\u8fd1\u5728\u5c1d\u8bd5Socket\u901a\u4fe1\u65f6\uff0c\u53d1\u73b0\u5728UDP\u534f\u8bae\u4e0b\uff0cSever\u7aef\u4f7f\u7528recvfrom\u65b9\u6cd5\u83b7\u53d6\u53d1\u9001\u7aef\u7684ip\u5730\u5740\u548c\u7aef [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":476,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"cybocfi_hide_featured_image":"yes","footnotes":""},"categories":[45],"tags":[46,47,48],"views":828,"_links":{"self":[{"href":"https:\/\/www.coni.top\/blog\/index.php?rest_route=\/wp\/v2\/posts\/475"}],"collection":[{"href":"https:\/\/www.coni.top\/blog\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.coni.top\/blog\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.coni.top\/blog\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.coni.top\/blog\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=475"}],"version-history":[{"count":4,"href":"https:\/\/www.coni.top\/blog\/index.php?rest_route=\/wp\/v2\/posts\/475\/revisions"}],"predecessor-version":[{"id":482,"href":"https:\/\/www.coni.top\/blog\/index.php?rest_route=\/wp\/v2\/posts\/475\/revisions\/482"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.coni.top\/blog\/index.php?rest_route=\/wp\/v2\/media\/476"}],"wp:attachment":[{"href":"https:\/\/www.coni.top\/blog\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=475"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.coni.top\/blog\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=475"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.coni.top\/blog\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=475"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}