代码拉取完成,页面将自动刷新
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()
}
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。