/ test-server / test-client.go
test-client.go
1 package main 2 3 import ( 4 "context" 5 "fmt" 6 "log" 7 "time" 8 9 "github.com/libp2p/go-libp2p" 10 "github.com/libp2p/go-libp2p/core/peer" 11 "github.com/multiformats/go-multiaddr" 12 ) 13 14 func main() { 15 host, err := libp2p.New( 16 libp2p.ListenAddrStrings("/ip4/0.0.0.0/udp/0/quic-v1"), 17 ) 18 if err != nil { 19 log.Fatal(err) 20 } 21 defer host.Close() 22 23 fmt.Printf("Client: %s\n", host.ID()) 24 25 serverAddr, _ := multiaddr.NewMultiaddr("/ip4/127.0.0.1/udp/4001/quic-v1") 26 // Try connecting - discovery happens automatically 27 serverInfo := peer.AddrInfo{Addrs: []multiaddr.Multiaddr{serverAddr}} 28 29 ctx, cancel := context.WithTimeout(context.Background(), 5*time.Second) 30 defer cancel() 31 32 fmt.Println("Connecting...") 33 err = host.Connect(ctx, serverInfo) 34 if err != nil { 35 fmt.Printf("Error: %v\n", err) 36 } else { 37 fmt.Println("Connected!") 38 } 39 }