aceld / aceld/zinx

如果在同一台服务器初始化了两个server,初始化服务器顺序不同,导致routerslice问题

オープン
#288 コメント 1 件 リアクション 0 件 担当者 0 名 GitHub で見る
主要言語
Go
スター
7.8k
フォーク
1.3k
PR マージ指標
30日以内にマージされた PR はありません

説明

在初始化服务器的时候,如果在同一台服务器初始化了两个server,例如下所示,

func TestTwoServer(t *testing.T){
fmt.Println("server Test")
_ = NewServer()
t.Log(zconf.GlobalObject)
_ = NewDefaultRouterSlicesServer()
t.Log(zconf.GlobalObject)
}

第一个server的routerslice为false,第二个server为true
可是如果调换了顺序

func TestTwoServerReversed(t *testing.T){
fmt.Println("server Test")
_ = NewDefaultRouterSlicesServer()
t.Log(zconf.GlobalObject)
_ = NewServer()
t.Log(zconf.GlobalObject)
}
两个都为true,不符合初始化的想法,主要原因是,server.go的148行代码,zconf.GlobalObject是一个指针变量

func NewDefaultRouterSlicesServer(opts ...Option) ziface.IServer {
zconf.GlobalObject.RouterSlicesMode = true
s := newServerWithConfig(zconf.GlobalObject, "tcp", opts...)
s.Use(RouterRecovery)
return s
}

コントリビューションガイド

このリポジトリのコントリビューションガイドは索引されていません

評価

この issue はまだ評価されていません。

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。