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