github.com/qiuhoude/go-web@v0.0.0-20220223060959-ab545e78f20d/prepare/23_proto_actor/remoteactivate/node1/main.go (about)

     1  package main
     2  
     3  import (
     4  	"fmt"
     5  	"time"
     6  
     7  	console "github.com/AsynkronIT/goconsole"
     8  	"github.com/AsynkronIT/protoactor-go/actor"
     9  	"github.com/AsynkronIT/protoactor-go/examples/remoteactivate/messages"
    10  	"github.com/AsynkronIT/protoactor-go/remote"
    11  )
    12  
    13  func main() {
    14  	timeout := 5 * time.Second
    15  	remote.Start("127.0.0.1:8081")
    16  	pidResp, _ := remote.SpawnNamed("127.0.0.1:8080", "remote", "hello", timeout)
    17  	pid := pidResp.Pid
    18  	res, _ := actor.EmptyRootContext.RequestFuture(pid, &messages.HelloRequest{}, timeout).Result()
    19  	response := res.(*messages.HelloResponse)
    20  	fmt.Printf("Response from remote %v", response.Message)
    21  
    22  	console.ReadLine()
    23  }