github.com/qiuhoude/go-web@v0.0.0-20220223060959-ab545e78f20d/prepare/23_proto_actor/remoteadvertisedaddress/node1/main.go (about) 1 package main 2 3 import ( 4 console "github.com/AsynkronIT/goconsole" 5 "github.com/AsynkronIT/protoactor-go/actor" 6 "github.com/AsynkronIT/protoactor-go/examples/remotebenchmark/messages" 7 "github.com/AsynkronIT/protoactor-go/remote" 8 "log" 9 ) 10 11 func main() { 12 remote.Start("127.0.0.1:8081", remote.WithAdvertisedAddress("localhost:8081")) 13 remotePid := actor.NewPID("127.0.0.1:8080", "remote") 14 15 rootContext := actor.EmptyRootContext 16 props := actor. 17 PropsFromFunc(func(context actor.Context) { 18 switch context.Message().(type) { 19 case *actor.Started: 20 message := &messages.Ping{} 21 context.Request(remotePid, message) 22 23 case *messages.Pong: 24 log.Println("Received pong from sender") 25 26 } 27 }) 28 29 rootContext.Spawn(props) 30 31 console.ReadLine() 32 }