func (m *model) handleInfo(content string) (resp string, err error) { args := &dao.Args{Id: m.id} log.Debugf("handleInfo args=%+v", args) var reply dao.User_InfoReply if err = m.dao.Call("User.GetInfo", args, &reply); err != nil { return } log.Debugf("handleInfo, reply=%+v", reply) resp = com.MakeMsgString(com.Cmd_Ag_InfoResp, reply.Code, reply.Info) return }
func (w *WsClient) Write(msg string) (err error) { err = websocket.Message.Send(w.ws, msg) if err != nil { log.Errorf("WS-SEND ERROR: %+v", err.Error()) } else { log.Debugf("WS-SEND: %#v\n", msg) } return }
func (w *WsClient) Read(msg *string) (err error) { err = websocket.Message.Receive(w.ws, msg) if err != nil { log.Errorf("WS-RECV ERROR: %+v", err.Error()) } else { log.Debugf("WS-RECV: %#v\n", *msg) } return }
func (u *User) Auth(args *User_AuthArgs, reply *User_AuthReply) (err error) { accountkey := k_account_user_ + args.Account // exists, _ := redis.Bool(u.c.Do("EXISTS", accountkey)) var id string log.Debugf("Auth:get %+v", accountkey) id, _ = redis.String(u.c.Do("GET", accountkey)) // id may be "" psw, _ := redis.String(u.c.Do("HGET", k_user_+id, k_psw)) // if id == "" { // reply.Code = com.E_AgentAccountNotExist // }else{ // reply.Code = com.E_Success // } log.Debugf("Auth:id=%+v psw=%+v", id, psw) if id == "" || psw == "" { reply.Code = com.E_AgentAccountNotExist } else { if psw == args.Psw { reply.Code = com.E_Success reply.Id = id } else { reply.Code = com.E_AgentPasswordIncorrect } } // if exists == false { // reply.Code = com.E_AgentAccountNotExist // log.Info("E_LoginAccountNotExist") // }else { // id, _ := redis.String(u.c.Do("HGET", accountkey, k_id)) // // fw.PrintType(id, "id") // pswvalue, _ := redis.String(u.c.Do("HGET", accountkey, k_psw)) // if pswvalue == args.Psw { // reply.LoginKey = u.parent.Game.genLoginKey(id) // reply.Code = com.E_Success // }else { // reply.Code = com.E_AgentPasswordIncorrect // log.Info("E_AgentPasswordIncorrect") // } // } return }
func (g *Game) genLoginKey(id string) (key string) { log.Infof("game:genLoginKey, g=%+v", g) key = strconv.Itoa(fw.FastRand()) log.Debugf("%+v, %+v", g, g.c) _, err := g.c.Do("HSET", LoginkeyKey, id, key) if err != nil { log.Error(err.Error()) } return }
func (m *model) handleRegister(content string) (resp string, err error) { // daocli. var req RegisterReq if err = json.Unmarshal([]byte(content), &req); err != nil { log.Error("content=", content, ", err: ", err.Error()) return } args := &dao.User_RegisterArgs{req.Account, req.Psw} var reply dao.Reply log.Debugf("req : %#v", req) // if err = h.dc.UserRegister(&args, &reply); err != nil { if err = m.dao.Call("User.Register", args, &reply); err != nil { return } log.Infof("User.Register %+v -> %+v", args, reply) resp = com.MakeMsgString(com.Cmd_Ag_RegisterResp, reply.Code, nil) return }
func main() { var agent *fw.Agent serve := func(ws *websocket.Conn) { // only ONE agent server allowed to connect log.Debugf("new comes, agent=%+v", agent) if agent == nil { agent = fw.NewAgent(game.NewModel(), fw.NewWsReadWriter(ws), 1) if err := agent.Serve(); err != nil { log.Error(err.Error()) } } else { log.Warning("already connected by agentsrv, cannont serve more") } // release agent = nil } http.Handle("/", websocket.Handler(serve)) log.Debug("game server start on:", cfg.GameAddr()) http.ListenAndServe(cfg.GameAddr(), nil) }
func testSet() { buckValue := `this is the value` // 同时写会出问题.. // go func() { // cluster1, e := gocb.Connect("couchbase://127.0.0.1") // log.Debugf("connect e=%+v", e) // if e != nil { // fmt.Errorf("%+v", e.Error()) // } // bucket1, e := cluster1.OpenBucket("travel-sample", "") // // // N := 50000 // t1 := time.Now() // // for i := 0; i < N; i++ { // if _, err := bucket1.Upsert(string("*****@*****.**"), buckValue, 0); err != nil { // fmt.Print("bucket get err=", err.Error()) // return // }else { // } // } // t2 := time.Now() // d := t2.Sub(t1) // // log.Infof("BenchmarkGo go, %+v times in %+v", N, d) // // }() // // go func() { // cluster1, e := gocb.Connect("couchbase://127.0.0.1") // log.Debugf("connect e=%+v", e) // if e != nil { // fmt.Errorf("%+v", e.Error()) // } // bucket1, e := cluster1.OpenBucket("travel-sample", "") // // // N := 50000 // t1 := time.Now() // // for i := 0; i < N; i++ { // if _, err := bucket1.Upsert(string("*****@*****.**"), buckValue, 0); err != nil { // fmt.Print("bucket get err=", err.Error()) // return // }else { // } // } // t2 := time.Now() // d := t2.Sub(t1) // // log.Infof("BenchmarkGo go, %+v times in %+v", N, d) // // }() // // go func() { // cluster1, e := gocb.Connect("couchbase://127.0.0.1") // log.Debugf("connect e=%+v", e) // if e != nil { // fmt.Errorf("%+v", e.Error()) // } // bucket1, e := cluster1.OpenBucket("travel-sample", "") // // // N := 50000 // t1 := time.Now() // // for i := 0; i < N; i++ { // if _, err := bucket1.Upsert(string("*****@*****.**"), buckValue, 0); err != nil { // fmt.Print("bucket get err=", err.Error()) // return // }else { // } // } // t2 := time.Now() // d := t2.Sub(t1) // // log.Infof("BenchmarkGo go, %+v times in %+v", N, d) // // }() // // go func() { // cluster1, e := gocb.Connect("couchbase://127.0.0.1") // log.Debugf("connect e=%+v", e) // if e != nil { // fmt.Errorf("%+v", e.Error()) // } // bucket1, e := cluster1.OpenBucket("travel-sample", "") // // // N := 50000 // t1 := time.Now() // // for i := 0; i < N; i++ { // if _, err := bucket1.Upsert(string("*****@*****.**"), buckValue, 0); err != nil { // fmt.Print("bucket get err=", err.Error()) // return // }else { // } // } // t2 := time.Now() // d := t2.Sub(t1) // // log.Infof("BenchmarkGo go, %+v times in %+v", N, d) // // }() cluster1, e := gocb.Connect("couchbase://127.0.0.1") log.Debugf("connect e=%+v", e) if e != nil { fmt.Errorf("%+v", e.Error()) } bucket1, e := cluster1.OpenBucket("travel-sample", "") N := 1 t1 := time.Now() for i := 0; i < N; i++ { if _, err := bucket1.Upsert(string("*****@*****.**"), buckValue, 0); err != nil { fmt.Print("bucket get err=", err.Error()) return } else { } } t2 := time.Now() d := t2.Sub(t1) log.Infof("BenchmarkGo go, %+v times in %+v", N, d) }
func testGet() { // go func() { // cluster1, e := gocb.Connect("couchbase://127.0.0.1") // log.Debugf("connect e=%+v", e) // if e != nil { // fmt.Errorf("%+v", e.Error()) // } // bucket1, e := cluster1.OpenBucket("travel-sample", "") // // // N := 50000 // t1 := time.Now() // // for i := 0; i < N; i++ { // var curUser User // if _, err := bucket1.Get("*****@*****.**", &curUser); err != nil { // fmt.Print("bucket get err=", err.Error()) // return // }else { // // fmt.Printf("%+v", curUser) // } // } // t2 := time.Now() // d := t2.Sub(t1) // // log.Infof("BenchmarkGo go, %+v times in %+v", N, d) // // }() // // go func() { // cluster1, e := gocb.Connect("couchbase://127.0.0.1") // log.Debugf("connect e=%+v", e) // if e != nil { // fmt.Errorf("%+v", e.Error()) // } // bucket1, e := cluster1.OpenBucket("travel-sample", "") // // // N := 50000 // t1 := time.Now() // // for i := 0; i < N; i++ { // var curUser User // if _, err := bucket1.Get("*****@*****.**", &curUser); err != nil { // fmt.Print("bucket get err=", err.Error()) // return // }else { // // fmt.Printf("%+v", curUser) // } // } // t2 := time.Now() // d := t2.Sub(t1) // // log.Infof("BenchmarkGo go, %+v times in %+v", N, d) // // }() // // go func() { // cluster1, e := gocb.Connect("couchbase://127.0.0.1") // log.Debugf("connect e=%+v", e) // if e != nil { // fmt.Errorf("%+v", e.Error()) // } // bucket1, e := cluster1.OpenBucket("travel-sample", "") // // N := 50000 // t1 := time.Now() // // for i := 0; i < N; i++ { // var curUser User // if _, err := bucket1.Get("*****@*****.**", &curUser); err != nil { // fmt.Print("bucket get err=", err.Error()) // return // }else { // // fmt.Printf("%+v", curUser) // } // } // t2 := time.Now() // d := t2.Sub(t1) // // log.Infof("BenchmarkGo go, %+v times in %+v", N, d) // // }() // // go func() { // cluster1, e := gocb.Connect("couchbase://127.0.0.1") // log.Debugf("connect e=%+v", e) // if e != nil { // fmt.Errorf("%+v", e.Error()) // } // bucket1, e := cluster1.OpenBucket("travel-sample", "") // // // N := 50000 // t1 := time.Now() // // // for i := 0; i < N; i++ { // var curUser User // if _, err := bucket1.Get("*****@*****.**", &curUser); err != nil { // fmt.Print("bucket get err=", err.Error()) // return // }else { // // fmt.Printf("%+v", curUser) // } // // } // t2 := time.Now() // d := t2.Sub(t1) // // log.Infof("BenchmarkGo go, %+v times in %+v", N, d) // // }() cluster, e := gocb.Connect("couchbase://127.0.0.1") // cluster, e := gocb.Connect("couchbase://42.62.101.136") log.Debugf("connect e=%+v", e) if e != nil { fmt.Errorf("%+v", e.Error()) } bucket, e = cluster.OpenBucket("travel-sample", "") if e != nil { fmt.Errorf("OpenBucket ERROR=%+v", e.Error()) } // // myQuery := gocb.NewN1qlQuery("select * from `travel-sample`") myQuery := gocb.NewN1qlQuery("select * from `travel-sample` where airportname IS NOT NULL limit 1") N := 100 t1 := time.Now() // for i := 0; i < N; i++ { rows, err := bucket.ExecuteN1qlQuery(myQuery, nil) if err != nil { fmt.Println("ERROR EXECUTING N1QL QUERY:", err) } var airports []AirportIntermediary var row AirportIntermediary // 这里的查询结果要严格对应定义的格式,否则转出来的struct的内部值都是空值 log.Infof("rows=%#v", rows) for rows.Next(&row) { airports = append(airports, row) log.Debugf("row=%+v", row) } log.Infof("airport = %+v", airports) if err := rows.Close(); err != nil { fmt.Printf("N1QL query error: %s\n", err) } // } t2 := time.Now() d := t2.Sub(t1) log.Infof("BenchmarkGo, %+v times in %+v", N, d) }
func DealCards(cards []card) { for i, _ := range cards { cards[i] = cardPool[fw.Randn(54)] } log.Debugf("cards=%+v", cards) }