@@ -0,0 +1,28 @@
+package main
+
+import (
+ "fmt"
+ "net/rpc"
+ "rorank/myta"
+ "time"
+)
+func main() {
+ go Test()
+ time.Sleep(300 * time.Second)
+}
+func Test() {
+ c, er := rpc.Dial("tcp", "localhost:8888")
+ if er != nil {
+ panic(er)
+ }
+ data := myta.Datas{Test: "aaaaa"}
+ var reply int
+ err := c.Call("Rank.Add", data, &reply)
+ if err != nil {
+ fmt.Println(err)
+ fmt.Println("client success")
@@ -0,0 +1,8 @@
+module rorank
+go 1.21.1
+replace rocommon => ../rocommon
+require (
+ rocommon v0.0.1
@@ -0,0 +1,25 @@
+ "net"
+ rank := new(myta.Rank)
+ rpc.Register(rank)
+ lis, er := net.Listen("tcp", ":8888")
+ fmt.Println(er)
+ for {
+ conn, err := lis.Accept()
+ fmt.Println("conn error:", err)
+ continue
+ go rpc.ServeConn(conn)
@@ -0,0 +1,27 @@
+package myta
+ "github.com/go-redis/redis"
+ "rocommon/service"
+const (
+ rankTest = "rank_test"
+type Rank struct {
+type Datas struct {
+ ServerIndex int //来自哪个服
+ Member interface{} //玩家数据
+ Score float64 //分数
+func (r *Rank) Add(data *Datas, reply *int) error {
+ fmt.Println(data)
+ *reply = 8
+ service.GetRedis().ZAdd(rankTest, redis.Z{Member: data.Member, Score: data.Score})
+ return nil
@@ -0,0 +1,10 @@
+package redis
+func init() {
+ cli := service.NewNetRedisConnector([]string{"127.0.0.1:7014"}, "", 127, 0)
+ service.SetRedis(cli)