<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                合規國際互聯網加速 OSASE為企業客戶提供高速穩定SD-WAN國際加速解決方案。 廣告
                [TOC] ## 示例 server <details> <summary>server.go</summary> ``` package main import ( "fmt" "net" ) func main() { // 如果第二參數為nil,它會使用系統指定多播接口,但是不推薦這樣使用 addr, err := net.ResolveUDPAddr("udp", "224.0.0.250:9981") if err != nil { fmt.Println(err) } listener, err := net.ListenMulticastUDP("udp", nil, addr) if err != nil { fmt.Println(err) return } fmt.Printf("Local: <%s> \n", listener.LocalAddr().String()) data := make([]byte, 1024) for { n, remoteAddr, err := listener.ReadFromUDP(data) if err != nil { fmt.Printf("error during read: %s", err) } fmt.Printf("<%s> %s\n", remoteAddr, data[:n]) _, err = listener.WriteToUDP(data[:n], remoteAddr) if err != nil { fmt.Printf("%+v\n", err) } } } ``` </details> <br/> <details> <summary>client.go</summary> ``` package main import ( "fmt" "log" "net" "os" ) func main() { // 當在本機測試時注意選擇的服務器的地址只要填 127.0.0.1, 而不是 224.0.0.250 // 如果是非本機服務器,填 192.168.x.x ip := net.ParseIP("192.168.0.166") // srcAddr := &net.UDPAddr{IP: net.IPv4zero, Port: 0} dstAddr := &net.UDPAddr{IP: ip, Port: 9981} conn, err := net.DialUDP("udp", nil, dstAddr) if err != nil { fmt.Println(err) } defer conn.Close() fmt.Printf("%+v\n", conn.RemoteAddr()) go func() { data := make([]byte, 1024) for { n, addr, err := conn.ReadFromUDP(data) if err != nil { log.Println(err) continue } fmt.Printf("<%+v> %s\n", addr.AddrPort().String(), data[:n]) } }() conn.Write([]byte("hello")) b := make([]byte, 1) os.Stdin.Read(b) } ``` </details> <br/> 多對一場景: 假設服務端ip為192.168.0.166與192.168.0.160,設置客戶端ip為224.0.0.1,多個服務端可同時接收消息,但是多對多場景需要目前無法做到雙向通信 一對一場景 假設服務器ip 為 192.168.0.166, 客戶端ip填寫 192.168.0.166,可進行雙向通信
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看