Beispiel #1
0
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
}
Beispiel #2
0
func stringerRun(stringer, dir, typeName, fileName string) {
	log.Infof("run: file=%s type=%s", fileName, typeName)
	source := filepath.Join(dir, fileName)
	//	err := copy(source, filepath.Join("testdata", fileName))
	//	if err != nil {
	//		log.Fatalf("copying file to temporary directory: %s", err)
	//	}
	stringSource := filepath.Join(dir, typeName+"_string.go")
	// Run stringer in temporary directory.
	log.Info(stringSource)
	err := run(stringer, "-type", typeName, "-output", stringSource, source)
	if err != nil {
		log.Fatal(err)
	}
}
Beispiel #3
0
func (u *User) GetInfo(args *Args, reply *User_InfoReply) (err error) {
	var nickname string

	coin, _ := redis.Int(u.c.Do("HGET", k_user_+args.Id, k_coin))
	nickname, _ = redis.String(u.c.Do("HGET", k_user_+args.Id, k_nickname))
	log.Infof("coin=%+v", coin)
	// fixme:这里用是否为空判断用户存在与否
	if nickname == "" {
		reply.Code = com.E_AgentAccountNotExist
	} else {
		reply.Code = com.E_Success
		reply.Info.Id = args.Id
		reply.Info.Nickname = nickname
		reply.Info.Coin = coin
	}
	return
}
Beispiel #4
0
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
}
Beispiel #5
0
func main() {
	server, err := agent.NewServer()
	if err != nil {
		panic("new server failed")
	}
	defer func() {
		server.Close()
	}()

	serve := func(ws *websocket.Conn) {
		if err := server.Serve(fw.NewWsReadWriter(ws)); err != nil {
			log.Error(err.Error())
		}
		log.Infof("agent leaves, agent count=%v", server.AgentCount())
	}

	http.Handle("/", websocket.Handler(serve))
	log.Debug("agent server start on:", cfg.AgentPort)
	http.ListenAndServe(":"+cfg.AgentPort, nil)
}
Beispiel #6
0
func main() {
	var root, stringer, stringersrc string
	//	if runtime.GOOS == "windows" {
	//		root, _ = filepath.Abs("../../")
	//		stringer = filepath.Join("./", "stringer.exe")
	//		stringersrc = filepath.Join(root, stringerSrcPath)
	//	} else {
	root, _ = filepath.Abs("../../")
	stringer = filepath.Join(root, "chess/tool/stringer.exe")
	stringersrc = filepath.Join(root, stringerSrcPath)
	//	}

	log.Infof("root=%+v\nstringer=%+v\nstringersrc=%+v", root, stringer, stringersrc)

	srcdir := filepath.Join(root, "chess/com")

	stringerCompile(root, stringer, stringersrc)
	stringerRun(stringer, srcdir, "Command", "Command.go")

	com.GenCommandOutput(srcdir)
}
Beispiel #7
0
func main() {
	redisConn, _ = redis.Dial("tcp", cfg.RedisAddr(),
		redis.DialReadTimeout(1*time.Second), redis.DialWriteTimeout(1*time.Second))
	s, _ := redisConn.Do("SELECT", 11)
	fmt.Println("select 11, s=", s)

	defer redisConn.Close()

	N := 10000
	//	acc := make(chan int, 0)
	//	do := 0
	//	mu := sync.Mutex{}
	//
	t1 := time.Now()

	for i := 0; i < N; i++ {
		//		go func() {
		//			mu.Lock()
		//			do = do + 1
		////			_, e := redisConn.Do("SET", do, "jjj")
		_, e := redisConn.Do("PING")
		if e != nil {
			fmt.Print(e, "\n")
		}
		//			mu.Unlock()
		//			acc <- 1
		//		}()
	}
	//	for i := 0; i < N; i++ {
	//		<-acc
	//	}

	t2 := time.Now()
	d := t2.Sub(t1)

	//	time.Sleep(3 * time.Second)
	//	log.Infof("BenchmarkGo, %+v times in %+v", do, d)
	log.Infof("BenchmarkGo, %+v times in %+v", N, d)
}
Beispiel #8
0
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)
}
Beispiel #9
0
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)
}
Beispiel #10
0
func newConfig_(path string) *websocket.Config {
	log.Infof("serverAddr=%+v, path=%+v", serverAddr, path)
	config, _ := websocket.NewConfig(fmt.Sprintf("ws://%s%s", serverAddr, path), "http://localhost")
	return config
}