未定义:运行 go libp2p 时遇到 ctx

代码如下,它是go-libp2p的官方演示。我没有遇到任何其他引用或未定义的错误


    // if a remote peer has been passed on the command line, connect to it

    // and send it 5 ping messages, otherwise wait for a signal to stop

    if len(os.Args) > 1 {

        addr, err := multiaddr.NewMultiaddr(os.Args[1])

        if err != nil {

            panic(err)

        }

        peer, err := peerstore.AddrInfoFromP2pAddr(addr)

        if err != nil {

            panic(err)

        }

        if err := node.Connect(ctx, *peer); err != nil {

            panic(err)

        }

        fmt.Println("sending 5 ping messages to", addr)

导入如下:


import (

    "fmt"

    "os"

    "os/signal"

    "syscall"


    "github.com/libp2p/go-libp2p"

    peerstore "github.com/libp2p/go-libp2p-core/peer"

    "github.com/libp2p/go-libp2p/p2p/protocol/ping"

    multiaddr "github.com/multiformats/go-multiaddr"

)


回首忆惘然
浏览 79回答 1
1回答

慕森卡

// create contextctx:=context.Background()// if a remote peer has been passed on the command line, connect to it// and send it 5 ping messages, otherwise wait for a signal to stopif len(os.Args) > 1 {    addr, err := multiaddr.NewMultiaddr(os.Args[1])    if err != nil {        panic(err)    }    peer, err := peerstore.AddrInfoFromP2pAddr(addr)    if err != nil {        panic(err)    }    if err := node.Connect(ctx, *peer); err != nil {        panic(err)    }    fmt.Println("sending 5 ping messages to", addr)
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Go