Merge branch 'dev' of http://git.legu.cc/liwei_3d/go_dreamfactory into dev
This commit is contained in:
commit
713c2e3415
@ -17,6 +17,8 @@ import (
|
|||||||
"go_dreamfactory/sys/configure"
|
"go_dreamfactory/sys/configure"
|
||||||
"go_dreamfactory/sys/db"
|
"go_dreamfactory/sys/db"
|
||||||
"os"
|
"os"
|
||||||
|
"os/signal"
|
||||||
|
"syscall"
|
||||||
"testing"
|
"testing"
|
||||||
"time"
|
"time"
|
||||||
|
|
||||||
@ -97,7 +99,27 @@ func Test_Comment(t *testing.T) {
|
|||||||
fmt.Println(err)
|
fmt.Println(err)
|
||||||
return
|
return
|
||||||
} else {
|
} else {
|
||||||
defer connect.Close()
|
|
||||||
|
go func() {
|
||||||
|
var (
|
||||||
|
data []byte
|
||||||
|
msg *pb.BattleRpcMessage = &pb.BattleRpcMessage{}
|
||||||
|
err error
|
||||||
|
)
|
||||||
|
locp:
|
||||||
|
for {
|
||||||
|
if _, data, err = connect.ReadMessage(); err != nil {
|
||||||
|
fmt.Println(err)
|
||||||
|
break locp
|
||||||
|
}
|
||||||
|
if err = proto.Unmarshal(data, msg); err != nil {
|
||||||
|
fmt.Println(err)
|
||||||
|
break locp
|
||||||
|
}
|
||||||
|
fmt.Println(msg)
|
||||||
|
}
|
||||||
|
}()
|
||||||
|
|
||||||
msg := &pb.BattleRpcMessage{
|
msg := &pb.BattleRpcMessage{
|
||||||
Rid: 1,
|
Rid: 1,
|
||||||
Method: "test",
|
Method: "test",
|
||||||
@ -105,5 +127,18 @@ func Test_Comment(t *testing.T) {
|
|||||||
msg.Data, _ = anypb.New(&pb.BattleTestMessage{})
|
msg.Data, _ = anypb.New(&pb.BattleTestMessage{})
|
||||||
data, _ := proto.Marshal(msg)
|
data, _ := proto.Marshal(msg)
|
||||||
connect.WriteMessage(websocket.BinaryMessage, data)
|
connect.WriteMessage(websocket.BinaryMessage, data)
|
||||||
|
//监听外部关闭服务信号
|
||||||
|
c := make(chan os.Signal, 1)
|
||||||
|
//添加进程结束信号
|
||||||
|
signal.Notify(c,
|
||||||
|
os.Interrupt, //退出信号 ctrl+c退出
|
||||||
|
syscall.SIGHUP, //终端控制进程结束(终端连接断开)
|
||||||
|
syscall.SIGINT, //用户发送INTR字符(Ctrl+C)触发
|
||||||
|
syscall.SIGTERM, //结束程序(可以被捕获、阻塞或忽略)
|
||||||
|
syscall.SIGQUIT) //用户发送QUIT字符(Ctrl+/)触发
|
||||||
|
select {
|
||||||
|
case sig := <-c:
|
||||||
|
fmt.Printf("signal = %v\n", sig)
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -58,6 +58,7 @@ func (this *apiComp) ChallengeReceive(session comm.IUserSession, req *pb.CombatC
|
|||||||
}
|
}
|
||||||
|
|
||||||
this.module.DispenseRes(session, manster.Award, true)
|
this.module.DispenseRes(session, manster.Award, true)
|
||||||
|
pass = true
|
||||||
for _, v := range level.Passdroplist {
|
for _, v := range level.Passdroplist {
|
||||||
ispass := false
|
ispass := false
|
||||||
for _, v1 := range info.Passdrop {
|
for _, v1 := range info.Passdrop {
|
||||||
|
@ -198,9 +198,16 @@ func (this *Library) AddHeroFetterData(uid, heroConfId string) (code pb.ErrorCod
|
|||||||
obj.Hero[k] = 1
|
obj.Hero[k] = 1
|
||||||
// 重新计算最低等级
|
// 重新计算最低等级
|
||||||
var minLv int32
|
var minLv int32
|
||||||
for _, v := range obj.Hero {
|
conf := this.configure.GetLibraryFetter(obj.Fid, 1)
|
||||||
if minLv < v {
|
list := this.GetHeroFetterList(uid)
|
||||||
minLv = v
|
for _, v1 := range conf.Hid {
|
||||||
|
for _, v := range list {
|
||||||
|
if v.Heroid == v1 {
|
||||||
|
if minLv < v.Favorlv {
|
||||||
|
minLv = v.Favorlv
|
||||||
|
}
|
||||||
|
break
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
obj.Fetterlv = minLv
|
obj.Fetterlv = minLv
|
||||||
@ -210,7 +217,6 @@ func (this *Library) AddHeroFetterData(uid, heroConfId string) (code pb.ErrorCod
|
|||||||
mapData["fetterlv"] = obj.Fetterlv
|
mapData["fetterlv"] = obj.Fetterlv
|
||||||
this.modelLibrary.modifyLibraryDataByObjId(uid, obj.Id, mapData)
|
this.modelLibrary.modifyLibraryDataByObjId(uid, obj.Id, mapData)
|
||||||
rsp.Data = append(rsp.Data, obj)
|
rsp.Data = append(rsp.Data, obj)
|
||||||
break
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -8,8 +8,6 @@ import (
|
|||||||
"io"
|
"io"
|
||||||
"os"
|
"os"
|
||||||
|
|
||||||
// zlog "go_dreamfactory/lego/sys/log"
|
|
||||||
|
|
||||||
"go_dreamfactory/pb"
|
"go_dreamfactory/pb"
|
||||||
|
|
||||||
"github.com/gorilla/websocket"
|
"github.com/gorilla/websocket"
|
||||||
@ -170,63 +168,37 @@ func (r *RobotFormatter) Format(entry *logrus.Entry) ([]byte, error) {
|
|||||||
return b.Bytes(), nil
|
return b.Bytes(), nil
|
||||||
}
|
}
|
||||||
|
|
||||||
func (r *Robot) ExecSendMsg(mainType, subType string, msg proto.Message) {
|
func (r *Robot) MessageRsp(mainType, subType string) bool {
|
||||||
|
|
||||||
if msg != nil {
|
|
||||||
head := &pb.UserMessage{MainType: mainType, SubType: subType}
|
|
||||||
err := r.SendToClient(head, msg)
|
|
||||||
if err != nil {
|
|
||||||
zlog.Errorf("send to client err:%v", err)
|
|
||||||
}
|
|
||||||
r.messageRsp(mainType, subType)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
func (r *Robot) MessageRsp() {
|
|
||||||
|
|
||||||
var msg *pb.UserMessage = &pb.UserMessage{}
|
var msg *pb.UserMessage = &pb.UserMessage{}
|
||||||
_, data, err := r.ws.ReadMessage()
|
_, data, err := r.ws.ReadMessage()
|
||||||
if err != nil {
|
if err != nil {
|
||||||
zlog.Fatalf("readMessage err:%v", err)
|
fmt.Printf("readMessage err:%v", err)
|
||||||
|
return false
|
||||||
}
|
}
|
||||||
|
|
||||||
if err = proto.Unmarshal(data, msg); err != nil {
|
if err = proto.Unmarshal(data, msg); err != nil {
|
||||||
zlog.Fatalf("unmarshal err:%v", err)
|
fmt.Printf("unmarshal err:%v", err)
|
||||||
}
|
}
|
||||||
|
//fmt.Printf("接收消息=====msg.MainType = %s,msg.SubType = %s\n", msg.MainType, msg.SubType)
|
||||||
if msg.MainType == "chat" && msg.SubType == "message" {
|
if msg.MainType == "chat" && msg.SubType == "message" {
|
||||||
resp := &pb.ChatMessagePush{}
|
resp := &pb.ChatMessagePush{}
|
||||||
if !comm.ProtoUnmarshal(msg, resp) {
|
if !comm.ProtoUnmarshal(msg, resp) {
|
||||||
return
|
return false
|
||||||
}
|
}
|
||||||
zlog.Fatalf("接收消息=====resp:%v", resp.Chat)
|
return false
|
||||||
|
//fmt.Printf("接收消息=====resp:%v\n", resp.Chat)
|
||||||
|
} else if msg.MainType == mainType && msg.SubType == subType {
|
||||||
|
resp := &pb.UserLoginResp{}
|
||||||
|
if !comm.ProtoUnmarshal(msg, resp) {
|
||||||
|
return false
|
||||||
}
|
}
|
||||||
|
//fmt.Printf("接收消息=====loginData:%v,userExpand:%v\n", resp.Data, resp.Ex)
|
||||||
|
return true
|
||||||
|
}
|
||||||
|
return false
|
||||||
}
|
}
|
||||||
func (r *Robot) messageRsp(mainType, subType string) {
|
|
||||||
|
|
||||||
var msg *pb.UserMessage = &pb.UserMessage{}
|
|
||||||
_, data, err := r.ws.ReadMessage()
|
|
||||||
if err != nil {
|
|
||||||
zlog.Fatalf("readMessage err:%v", err)
|
|
||||||
}
|
|
||||||
|
|
||||||
if err = proto.Unmarshal(data, msg); err != nil {
|
|
||||||
zlog.Fatalf("unmarshal err:%v", err)
|
|
||||||
}
|
|
||||||
|
|
||||||
if msg.MainType == mainType &&
|
|
||||||
msg.SubType == subType {
|
|
||||||
rsp := &pb.UserLoginResp{}
|
|
||||||
if !comm.ProtoUnmarshal(msg, rsp) {
|
|
||||||
return
|
|
||||||
}
|
|
||||||
if msg.MainType == "user" && msg.SubType == "login" {
|
|
||||||
r.loginCallback(rsp)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
func (r *Robot) CloseHandler() {
|
func (r *Robot) CloseHandler() {
|
||||||
|
|
||||||
r.ws.Close()
|
r.ws.Close()
|
||||||
|
@ -80,19 +80,13 @@ func webSocketRequest(chanID uint64, ch chan<- *model.RequestResults, i uint64,
|
|||||||
Sid: "dfmxf",
|
Sid: "dfmxf",
|
||||||
}
|
}
|
||||||
r.SendToClient(head, req)
|
r.SendToClient(head, req)
|
||||||
r.MessageRsp()
|
for {
|
||||||
// err := ws.Write([]byte(`{"seq":"` + seq + `","cmd":"ping","data":{}}`))
|
if r.MessageRsp("user", "login") {
|
||||||
// if err != nil {
|
isSucceed = true
|
||||||
// errCode = model.RequestErr // 请求错误
|
break
|
||||||
// } else {
|
}
|
||||||
// msg, err = ws.Read()
|
}
|
||||||
// if err != nil {
|
|
||||||
// errCode = model.ParseError
|
|
||||||
// fmt.Println("读取数据 失败~")
|
|
||||||
// } else {
|
|
||||||
// errCode, isSucceed = request.GetVerifyWebSocket()(request, seq, msg)
|
|
||||||
// }
|
|
||||||
// }
|
|
||||||
requestTime := uint64(helper.DiffNano(startTime))
|
requestTime := uint64(helper.DiffNano(startTime))
|
||||||
requestResults := &model.RequestResults{
|
requestResults := &model.RequestResults{
|
||||||
Time: requestTime,
|
Time: requestTime,
|
||||||
|
@ -72,8 +72,8 @@ func main() {
|
|||||||
//go run .\main.go -c 10 -n 10 -u ws://10.0.5.101:7891/gateway
|
//go run .\main.go -c 10 -n 10 -u ws://10.0.5.101:7891/gateway
|
||||||
concurrency = 10
|
concurrency = 10
|
||||||
totalNumber = 10
|
totalNumber = 10
|
||||||
debugStr = "true"
|
debugStr = "false"
|
||||||
requestURL = "ws://10.0.5.194:7891/gateway"
|
requestURL = "ws://10.0.0.9:7891/gateway"
|
||||||
if concurrency == 0 || totalNumber == 0 || (requestURL == "" && path == "") {
|
if concurrency == 0 || totalNumber == 0 || (requestURL == "" && path == "") {
|
||||||
fmt.Printf("示例: go run main.go -c 1 -n 1 -u https://www.baidu.com/ \n")
|
fmt.Printf("示例: go run main.go -c 1 -n 1 -u https://www.baidu.com/ \n")
|
||||||
fmt.Printf("压测地址或curl路径必填 \n")
|
fmt.Printf("压测地址或curl路径必填 \n")
|
||||||
|
Loading…
Reference in New Issue
Block a user