From ad45f61cb02e8f418f5daa6be4e880a10680c9b4 Mon Sep 17 00:00:00 2001 From: azw Date: Sun, 13 Aug 2023 15:26:56 +0800 Subject: [PATCH] 1 --- bin/imserver/config/imserver.cluster.json | 4 +++- server/imserver/app.go | 2 ++ server/imserver/export.go | 1 + server/imserver/httplistener.go | 19 +++++++++++++++++++ server/imserver/mt/IMCluster.go | 4 ++++ server/imserver/mtb/mtb.auto_gen.go | 10 ++++++++++ server/imserver/proto/mt.proto | 1 + 7 files changed, 40 insertions(+), 1 deletion(-) create mode 100644 server/imserver/httplistener.go diff --git a/bin/imserver/config/imserver.cluster.json b/bin/imserver/config/imserver.cluster.json index 2e4f0dcd..acd326ae 100644 --- a/bin/imserver/config/imserver.cluster.json +++ b/bin/imserver/config/imserver.cluster.json @@ -1,5 +1,7 @@ [ { - "listen_port": 8888 + "instance_id": 1, + "listen_port": 8888, + "http_listen_port": 8889 } ] diff --git a/server/imserver/app.go b/server/imserver/app.go index 7d75f0ff..c3db7932 100644 --- a/server/imserver/app.go +++ b/server/imserver/app.go @@ -22,9 +22,11 @@ func (this *App) Init() { handlerMgr.init() playerMgr.init() wspListener.init() + httpListener.init() } func (this *App) UnInit() { + httpListener.unInit() playerMgr.unInit() handlerMgr.unInit() wspListener.unInit() diff --git a/server/imserver/export.go b/server/imserver/export.go index 1371e1f7..a3e02caf 100644 --- a/server/imserver/export.go +++ b/server/imserver/export.go @@ -4,3 +4,4 @@ var app = new (App) var wspListener = new (WSPListener) var playerMgr = new (PlayerMgr) var handlerMgr = new (HandlerMgr) +var httpListener = new (HttpListener) diff --git a/server/imserver/httplistener.go b/server/imserver/httplistener.go new file mode 100644 index 00000000..66a973c7 --- /dev/null +++ b/server/imserver/httplistener.go @@ -0,0 +1,19 @@ +package main + +import ( + "f5" + "mt" +) + +type HttpListener struct { + httpServer *f5.HttpServer +} + +func (this *HttpListener) init() { + this.httpServer = new (f5.HttpServer) + this.httpServer.Init("imserver.httplistener", 1000 * 10) + this.httpServer.Start(mt.Table.IMCluster.GetHttpListenPort()) +} + +func (this *HttpListener) unInit() { +} diff --git a/server/imserver/mt/IMCluster.go b/server/imserver/mt/IMCluster.go index 416db8a4..a525b6ac 100644 --- a/server/imserver/mt/IMCluster.go +++ b/server/imserver/mt/IMCluster.go @@ -21,6 +21,10 @@ func (this *IMClusterTable) GetListenPort() int32 { return this.selfConf.GetListenPort() } +func (this *IMClusterTable) GetHttpListenPort() int32 { + return this.selfConf.GetHttpListenPort() +} + func (this *IMClusterTable) PostInit1() { this.selfConf = this.GetById(int64(f5.GetApp().GetInstanceId())) if this.selfConf == nil { diff --git a/server/imserver/mtb/mtb.auto_gen.go b/server/imserver/mtb/mtb.auto_gen.go index 50c3efb3..86fbfda8 100644 --- a/server/imserver/mtb/mtb.auto_gen.go +++ b/server/imserver/mtb/mtb.auto_gen.go @@ -7,6 +7,7 @@ import ( type IMCluster struct { instance_id int32 listen_port int32 + http_listen_port int32 _flags1_ uint64 _flags2_ uint64 @@ -37,6 +38,14 @@ func (this *IMCluster) HasListenPort() bool { return (this._flags1_ & (uint64(1) << 2)) > 0 } +func (this *IMCluster) GetHttpListenPort() int32 { + return this.http_listen_port +} + +func (this *IMCluster) HasHttpListenPort() bool { + return (this._flags1_ & (uint64(1) << 3)) > 0 +} + func (this *MasterCluster) GetInstanceId() int32 { return this.instance_id } @@ -65,6 +74,7 @@ func (this *MasterCluster) HasListenPort() bool { func (this *IMCluster) LoadFromKv(kv map[string]interface{}) { f5.ReadMetaTableField(&this.instance_id, "instance_id", &this._flags1_, 1, kv) f5.ReadMetaTableField(&this.listen_port, "listen_port", &this._flags1_, 2, kv) + f5.ReadMetaTableField(&this.http_listen_port, "http_listen_port", &this._flags1_, 3, kv) } func (this *MasterCluster) LoadFromKv(kv map[string]interface{}) { diff --git a/server/imserver/proto/mt.proto b/server/imserver/proto/mt.proto index d8b15ed6..70d72064 100644 --- a/server/imserver/proto/mt.proto +++ b/server/imserver/proto/mt.proto @@ -6,6 +6,7 @@ message IMCluster { optional int32 instance_id = 1; optional int32 listen_port = 2; + optional int32 http_listen_port = 3; } message MasterCluster