You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
60 lines
1.6 KiB
60 lines
1.6 KiB
package main |
|
|
|
import ( |
|
"git.hpds.cc/Component/hpds_net_framework" |
|
"git.hpds.cc/Component/hpds_net_framework/examples/comm/msg/code" |
|
"git.hpds.cc/Component/hpds_net_framework/examples/comm/protobuf" |
|
"git.hpds.cc/Component/hpds_net_framework/security" |
|
"git.hpds.cc/Component/logging" |
|
"go.uber.org/zap" |
|
) |
|
|
|
var ( |
|
logger *logging.Logger |
|
processor *hpds_net_framework.PbProcessor |
|
) |
|
|
|
func init() { |
|
logger = LoadLoggerConfig() |
|
passwd := security.RandLittlePassword() |
|
cipher := security.NewAESCipher(passwd) |
|
processor = hpds_net_framework.NewPbProcessor(logger) |
|
// add encrypt cipher for processor |
|
processor.SetEncryptor(cipher) |
|
// 注册消息,以及回调处理 |
|
processor.RegisterHandler(code.Hello, &protobuf.Hello{}, func(args ...interface{}) { |
|
msg := args[hpds_net_framework.Msg].(*protobuf.Hello) |
|
logger.Info("Message => from client", zap.String("content", msg.Hello)) |
|
conn := args[hpds_net_framework.Conn].(hpds_net_framework.IConnection) |
|
conn.WriteMsg(msg) |
|
}) |
|
} |
|
|
|
func main() { |
|
// run server |
|
if s, err := hpds_net_framework.NewTcpServer("localhost:2021", processor, logger); err != nil { |
|
panic(err) |
|
} else { |
|
e := s.Run() |
|
if e != nil { |
|
logger.Fatal("Fatal", zap.Error(e)) |
|
} |
|
} |
|
} |
|
|
|
// LoadLoggerConfig 加载日志配置 |
|
func LoadLoggerConfig() *logging.Logger { |
|
return logging.NewLogger( |
|
logging.SetPath("./log/"), |
|
logging.SetPrefix(""), |
|
logging.SetDevelopment(true), |
|
logging.SetDebugFileSuffix(""), |
|
logging.SetWarnFileSuffix(""), |
|
logging.SetErrorFileSuffix(""), |
|
logging.SetInfoFileSuffix(""), |
|
logging.SetMaxAge(30), |
|
logging.SetMaxBackups(100), |
|
logging.SetMaxSize(100), |
|
logging.SetLevel(logging.LogLevel["debug"]), |
|
) |
|
}
|
|
|