Commit 3437292b authored by wei.xuan's avatar wei.xuan

update

parent 29cb7402
.idea
echo-cli
majora-cli
dist/config.yaml
\ No newline at end of file
......@@ -8,4 +8,35 @@ make build
```
./majora-cli -natServer "127.0.0.1:5879"
```
\ No newline at end of file
```
# 查看帮助
```
./majora-cli -h
Usage of ./majora-cli:
-account string
account (default "unknown")
-debugPort string
debugPort (default "127.0.0.1:6060")
-log int
log logLevel (default 1)
-natServer string
natServer (default "majora.virjar.com:5879")
-pprof
enable pprof
```
> 说明
> -account 标识当前用户 默认是unknown
> -debugPort 可忽略 用于性能分析
> -natServer 指定natserver 默认是 majora.virjar.com:5879
> -log 指定log level
# 各平台二进制
放在dist 目录下
# 启动成功界面
![](img.png)
\ No newline at end of file
......@@ -17,7 +17,6 @@ import (
var (
logLevel int
pprof bool
debugAddr string
natServer string
account string
)
......@@ -33,7 +32,6 @@ func init() {
flag.IntVar(&logLevel, "log", 1, "log logLevel")
flag.BoolVar(&pprof, "pprof", false, "enable pprof")
flag.StringVar(&debugAddr, "debugPort", common.PprofAddr, "debugPort")
flag.StringVar(&natServer, "natServer", common.DefNatAddr, "natServer")
flag.StringVar(&account, "account", "unknown", "account")
......@@ -45,13 +43,14 @@ func initPprof() {
return
}
go func() {
log.Printf("enable pprof: %s", debugAddr)
log.Fatal(http.ListenAndServe(debugAddr, nil))
log.Printf("enable pprof: %s", common.PprofAddr)
log.Fatal(http.ListenAndServe(common.PprofAddr, nil))
}()
}
func main() {
initPprof()
logger.SetLogLevel(logLevel)
logger.Info().Msgf("current version %s, build at %s", version, date)
logger.Info().Msgf("hostinfo os:%s, arch:%s", runtime.GOOS, runtime.GOARCH)
client.NewClient(client.WithNatServerAddr(natServer), client.WithAccount(account))
......
......@@ -104,6 +104,7 @@ func (client *Client) handleConnection(conn net.Conn, packet *protocol.MajoraPac
logger.Error().Msgf("handleConnection read with error:%+v", err)
break
}
logger.Debug().Msgf("handleConnection %s", string(buf))
pack := protocol.TypeTransfer.CreatePacket()
pack.Data = buf
......@@ -128,7 +129,7 @@ func (client *Client) handleDestroyMessage() {
}
func (client *Client) disconnect(packet *protocol.MajoraPacket, msg string) {
logger.Info().Msgf("disconnect to server %s", msg)
logger.Warn().Msgf("disconnect to server %s", msg)
disconnectCmd := protocol.TypeDisconnect.CreatePacket()
disconnectCmd.SerialNumber = packet.SerialNumber
disconnectCmd.Data = []byte(msg)
......@@ -138,7 +139,7 @@ func (client *Client) disconnect(packet *protocol.MajoraPacket, msg string) {
func (client *Client) AddConnection(packet *protocol.MajoraPacket, conn net.Conn) {
client.connStore.Store(packet.SerialNumber, conn)
logger.Info().Msgf("create connection for %d", packet.SerialNumber)
logger.Debug().Msgf("create connection for %d", packet.SerialNumber)
}
// RemoveConnection 1. 本地缓存删除 2. 关闭连接 3. 通知natserver
......@@ -154,7 +155,7 @@ func (client *Client) RemoveConnection(packet *protocol.MajoraPacket, reason str
client.connStore.Delete(packet.SerialNumber)
// 直接关闭是否就可以 主动断开 是否有剩余数据已经意义不大了
_ = conn.Close()
logger.Warn().Msgf("removeConnection target connection %d, reason %s", packet.SerialNumber, reason)
logger.Debug().Msgf("removeConnection target connection %d, reason %s", packet.SerialNumber, reason)
majoraPacket := protocol.TypeDisconnect.CreatePacket()
majoraPacket.SerialNumber = packet.SerialNumber
majoraPacket.Data = []byte(client.Options.ClientID)
......@@ -178,4 +179,3 @@ func (client *Client) GetConnection(packet *protocol.MajoraPacket) (conn net.Con
conn, ok = load.(net.Conn)
return
}
This diff is collapsed.
......@@ -23,3 +23,8 @@ var (
Warn = logger.Warn
Debug = logger.Debug
)
func SetLogLevel(level int) {
zerolog.SetGlobalLevel(zerolog.Level(level))
}
\ No newline at end of file
File added
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment