diff --git a/main.go b/main.go deleted file mode 100644 index 866b688..0000000 --- a/main.go +++ /dev/null @@ -1,14 +0,0 @@ -package main - -import "github.com/kercylan98/minotaur/server" - -// 无意义的测试main入口 -func main() { - srv := server.New(server.NetworkWebsocket, server.WithMessageDiversion(3, 2)) - srv.RegConnectionReceiveWebsocketPacketEvent(func(srv *server.Server, conn *server.Conn, packet []byte, messageType int) { - conn.Write(packet, messageType) - }) - if err := srv.Run(":8999"); err != nil { - panic(err) - } -} diff --git a/server/conn.go b/server/conn.go index 6c33798..f656dfe 100644 --- a/server/conn.go +++ b/server/conn.go @@ -177,7 +177,7 @@ func (slf *Conn) writeLoop() { return &connPacket{} }, func(data *connPacket) { data.packet = nil - data.websocketMessageType = -1 + data.websocketMessageType = 0 }, ) defer func() { @@ -209,7 +209,7 @@ func (slf *Conn) writeLoop() { } var err error if slf.IsWebsocket() { - if data.websocketMessageType == -1 { + if data.websocketMessageType <= 0 { data.websocketMessageType = slf.server.websocketWriteMessageType } err = slf.ws.WriteMessage(data.websocketMessageType, data.packet) diff --git a/server/server.go b/server/server.go index 25de728..ac5eac0 100644 --- a/server/server.go +++ b/server/server.go @@ -263,9 +263,9 @@ func (slf *Server) Run(addr string) error { if err := ws.SetReadDeadline(time.Now().Add(time.Second * 30)); err != nil { panic(err) } - messageType, packet, err := ws.ReadMessage() - if err != nil { - panic(err) + messageType, packet, readErr := ws.ReadMessage() + if readErr != nil { + panic(readErr) } if len(slf.supportMessageTypes) > 0 && !slf.supportMessageTypes[messageType] { panic(ErrWebsocketIllegalMessageType) @@ -383,6 +383,7 @@ func (slf *Server) Shutdown(err error) { log.Error("Server", zap.Any("network", slf.network), zap.String("listen", slf.addr), zap.String("action", "shutdown"), zap.String("state", "exception"), zap.Error(err)) slf.closeChannel <- struct{}{} + panic(err) } else { log.Info("Server", zap.Any("network", slf.network), zap.String("listen", slf.addr), zap.String("action", "shutdown"), zap.String("state", "normal"))