学习笔记: 我家别墅靠大海/pitaya-learn
尝试集成功能:我家别墅靠大海/pitaya-game
如果你正在看此笔记,请你左边放笔记,右边放chatdemo的代码!!
我是按代码的顺序记的笔记
拷贝demo
main.go和之前相比就多了一行。
Serializer需要的是一个序列化驱动
火龙果内置了三种方法 json mocks protobuf
connector.go
我们接着测试进入房间
收到了proto的返回 虽然是菱形问号。
还是没搞明白怎么用pitaya cli测试,我们用代码试一下
main.go改成tcp
新搞个demo2写一下客户端
package main
import (
"fmt"
"time"
"github.com/sirupsen/logrus"
"github.com/topfreegames/pitaya/v2/client"
"github.com/topfreegames/pitaya/v2/examples/demo/cluster_protobuf/protos"
"github.com/topfreegames/pitaya/v2/serialize/protobuf"
)
func main() {
c := client.New(logrus.InfoLevel, 100*time.Millisecond)
err := c.ConnectTo(":3250")
if err != nil {
fmt.Println(" conn server error :", err)
return
}
go func(c client.Client) {
for {
select {
case data := <-c.MsgChannel():
if data.Err {
fmt.Println("error :", string(data.Data))
break
}
fmt.Printf("data: %#v\n", data)
var res protos.Response
protobuf.NewSerializer().Unmarshal(data.Data, res)
fmt.Printf("res: %#v\n", res)
}
}
}(*c)
_, err = c.SendRequest("room.room.entry", []byte(""))
if err != nil {
fmt.Println("send request error")
return
}
_, err = c.SendRequest("room.room.join", []byte(""))
if err != nil {
fmt.Println("send request error")
return
}
select {}
}
看起来没啥问题
接着去看下一个demo