<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>

                ThinkChat2.0新版上線,更智能更精彩,支持會話、畫圖、視頻、閱讀、搜索等,送10W Token,即刻開啟你的AI之旅 廣告
                [TOC] > [gtihub.com](https://github.com/pebbe/zmq4 ) > [Examples](https://github.com/pebbe/zmq4/tree/master/examples ) ## 示例 go get ``` go get gopkg.in/zeromq/goczmq.v4 ``` demo ``` package main import ( "log" "gopkg.in/zeromq/goczmq.v4" ) func main() { // Create a router socket and bind it to port 5555. router, err := goczmq.NewRouter("tcp://*:5555") if err != nil { log.Fatal(err) } defer router.Destroy() log.Println("router created and bound") // Create a dealer socket and connect it to the router. dealer, err := goczmq.NewDealer("tcp://127.0.0.1:5555") if err != nil { log.Fatal(err) } defer dealer.Destroy() log.Println("dealer created and connected") // Send a 'Hello' message from the dealer to the router. // Here we send it as a frame ([]byte), with a FlagNone // flag to indicate there are no more frames following. err = dealer.SendFrame([]byte("Hello"), goczmq.FlagNone) if err != nil { log.Fatal(err) } log.Println("dealer sent 'Hello'") // Receive the message. Here we call RecvMessage, which // will return the message as a slice of frames ([][]byte). // Since this is a router socket that support async // request / reply, the first frame of the message will // be the routing frame. request, err := router.RecvMessage() if err != nil { log.Fatal(err) } log.Printf("router received '%s' from '%v'", request[1], request[0]) // Send a reply. First we send the routing frame, which // lets the dealer know which client to send the message. // The FlagMore flag tells the router there will be more // frames in this message. err = router.SendFrame(request[0], goczmq.FlagMore) if err != nil { log.Fatal(err) } log.Printf("router sent 'World'") // Next send the reply. The FlagNone flag tells the router // that this is the last frame of the message. err = router.SendFrame([]byte("World"), goczmq.FlagNone) if err != nil { log.Fatal(err) } // Receive the reply. reply, err := dealer.RecvMessage() if err != nil { log.Fatal(err) } log.Printf("dealer received '%s'", string(reply[0])) } ```
                  <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>

                              哎呀哎呀视频在线观看