Ai
1 Star 2 Fork 0

李文建/light-protoactor-go

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
文件
克隆/下载
main.go 1.29 KB
一键复制 编辑 原始数据 按行查看 历史
李文建 提交于 2017-11-08 17:09 +08:00 . Revert "context添加ChildrenMap方法"
package main
import (
"log"
"runtime"
"gitee.com/lwj8507/light-protoactor-go/actor"
"gitee.com/lwj8507/light-protoactor-go/remote"
"github.com/AsynkronIT/goconsole"
"gitee.com/lwj8507/light-protoactor-go/examples/chat/messages"
)
func main() {
//SetLogger(mylog.New("./log", "client"))
runtime.GOMAXPROCS(runtime.NumCPU())
if err := remote.Start("127.0.0.1:8081"); err != nil {
panic(err)
}
server := actor.NewPID("127.0.0.1:8080", "chatserver")
//spawn our chat client inline
props := actor.FromFunc(func(context actor.Context) {
switch msg := context.Message().(type) {
case *messages.Connected:
log.Println(msg.Message)
case *messages.SayResponse:
log.Printf("%v: %v", msg.UserName, msg.Message)
case *messages.NickResponse:
log.Printf("%v is now known as %v", msg.OldUserName, msg.NewUserName)
}
})
client := actor.Spawn(props)
actor.Tell(server, &messages.Connect{
Sender: client,
})
nick := "Roger"
cons := console.NewConsole(func(text string) {
actor.Tell(server, &messages.SayRequest{
UserName: nick,
Message: text,
})
})
//write /nick NAME to change your chat username
cons.Command("/nick", func(newNick string) {
actor.Tell(server, &messages.NickRequest{
OldUserName: nick,
NewUserName: newNick,
})
})
cons.Run()
console.ReadLine()
}
Loading...
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
Go
1
https://gitee.com/lwj8507/light-protoactor-go.git
git@gitee.com:lwj8507/light-protoactor-go.git
lwj8507
light-protoactor-go
light-protoactor-go
013e33d7022f

搜索帮助