{"id":41,"date":"2026-02-17T19:49:28","date_gmt":"2026-02-17T11:49:28","guid":{"rendered":"http:\/\/43.138.147.217\/?p=41"},"modified":"2026-02-17T20:27:53","modified_gmt":"2026-02-17T12:27:53","slug":"go%e5%bc%80%e5%8f%91%e4%bc%81%e4%b8%9a%e7%ba%a7%e5%be%ae%e6%9c%8d%e5%8a%a1%e7%bd%91%e5%85%b3%ef%bc%881%ef%bc%89golang-%e5%88%9b%e5%bb%ba-udp-%e6%9c%8d%e5%8a%a1%e5%99%a8%e5%92%8c%e5%ae%a2%e6%88%b7","status":"publish","type":"post","link":"https:\/\/fableary.top\/?p=41","title":{"rendered":"Go\u5f00\u53d1\u4f01\u4e1a\u7ea7\u5fae\u670d\u52a1\u7f51\u5173\uff081\uff09Golang \u521b\u5efa UDP \u670d\u52a1\u5668\u548c\u5ba2\u6237\u7aef"},"content":{"rendered":"\n<p><strong>\u8fd9\u90e8\u5206\u5185\u5bb9\u76f8\u5f53\u57fa\u7840<\/strong><\/p>\n\n\n\n<p>\u670d\u52a1\u7aef\u4ee3\u7801\u5982\u4e0b\uff1a<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>func main() {\n\t\/\/ 1 \u76d1\u542c\u670d\u52a1\u5668\n\tlisten, err := net.ListenUDP(\"udp\", &amp;net.UDPAddr{\n\t\tIP:   net.IPv4(0, 0, 0, 0),\n\t\tPort: 9090,\n\t})\n\tif err != nil {\n\t\tfmt.Printf(\"listen failed, err: %v\\n\", err)\n\t\treturn\n\t}\n\n\t\/\/ 2 \u5faa\u73af\u8bfb\u53d6\u6d88\u606f\u5185\u5bb9\n\tfor {\n\t\tvar data &#091;1024]byte\n\t\tn, addr, err := listen.ReadFromUDP(data&#091;:])\n\t\tif err != nil {\n\t\t\tfmt.Printf(\"read failed from addr: %v, err: %v\\n\", addr, err)\n\t\t\tbreak\n\t\t}\n\n\t\tgo func() {\n\t\t\t\/\/ 3 \u56de\u590d\u6570\u636e\n\t\t\tfmt.Printf(\"addr: %v data %v count: %v\\n\", addr, string(data&#091;:n]), n)\n\t\t\t_, err = listen.WriteToUDP(&#091;]byte(\"received success!\"), addr)\n\t\t\tif err != nil {\n\t\t\t\tfmt.Printf(\"write failed, err: %v\\n\"m err)\n\t\t\t}\n\t\t}()\n\t}\n}<\/code><\/pre>\n\n\n\n<p>\u5ba2\u6237\u7aef\u4ee3\u7801\u5982\u4e0b\uff1a<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>func main() {\n\t\/\/ 1 \u8fde\u63a5\u670d\u52a1\u5668\n\tconn, err := net.DialUDP(\"udp\", nil, &amp;net.UDPAddr{\n\t\tIP:   net.IPv4(127, 0, 0, 1),\n\t\tPort: 9090,\n\t})\n\tif err != nil {\n\t\tfmt.Printf(\"connect failed, err: %v\\n\", err)\n\t\treturn\n\t}\n\n\tfor i := 0; i &lt; 100; i++ {\n\t\t\/\/ 2 \u53d1\u9001\u6570\u636e\n\t\t_, err = conn.Write(&#091;]byte(\"hello server!\"))\n\t\tif err != nil {\n\t\t\tfmt.Printf(\"send data failed, err: %v\\n\", err)\n\t\t\treturn\n\t\t}\n\n\t\t\/\/ 3 \u63a5\u6536\u6570\u636e\n\t\tresult := make(&#091;]byte, 1024)\n\t\tn, remoteAddr, err := conn.ReadFromUDP(result)\n\t\tif err != nil {\n\t\t\tfmt.Printf(\"receive data failed, err: %v\\n\", err)\n\t\t\treturn\n\t\t}\n\t\tfmt.Printf(\"receive from addr: %v data: %v\\n\", remoteAddr, string(result&#091;:n]))\n\t}\n}<\/code><\/pre>\n","protected":false},"excerpt":{"rendered":"<p>\u8fd9\u90e8\u5206\u5185\u5bb9\u76f8\u5f53\u57fa\u7840 \u670d\u52a1\u7aef\u4ee3\u7801\u5982\u4e0b\uff1a \u5ba2\u6237\u7aef\u4ee3\u7801\u5982\u4e0b\uff1a<\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[4],"tags":[],"class_list":["post-41","post","type-post","status-publish","format-standard","hentry","category-gogateway"],"_links":{"self":[{"href":"https:\/\/fableary.top\/index.php?rest_route=\/wp\/v2\/posts\/41","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/fableary.top\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/fableary.top\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/fableary.top\/index.php?rest_route=\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/fableary.top\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=41"}],"version-history":[{"count":1,"href":"https:\/\/fableary.top\/index.php?rest_route=\/wp\/v2\/posts\/41\/revisions"}],"predecessor-version":[{"id":42,"href":"https:\/\/fableary.top\/index.php?rest_route=\/wp\/v2\/posts\/41\/revisions\/42"}],"wp:attachment":[{"href":"https:\/\/fableary.top\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=41"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/fableary.top\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=41"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/fableary.top\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=41"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}