新增websocket

This commit is contained in:
duanhf2012
2020-04-21 14:40:31 +08:00
parent f74f3a812e
commit e590f0dce9
13 changed files with 631 additions and 6 deletions

View File

@@ -14,6 +14,7 @@ import (
type GateService struct {
service.Service
processor *processor.PBProcessor
processor2 *processor.PBProcessor
httpRouter sysservice.IHttpRouter
}
@@ -24,6 +25,15 @@ func (slf *GateService) OnInit() error{
slf.processor.RegisterConnected(slf.OnConnected)
tcpervice.SetProcessor(slf.processor,slf.GetEventHandler())
wsService := node.GetService("WSService").(*sysservice.WSService)
slf.processor2 = &processor.PBProcessor{}
slf.processor2.RegisterDisConnected(slf.OnWSDisconnected)
slf.processor2.RegisterConnected(slf.OnWSConnected)
slf.processor2.Register()
wsService.SetProcessor(slf.processor2,slf.GetEventHandler())
httpervice := node.GetService("HttpService").(*sysservice.HttpService)
slf.httpRouter = sysservice.NewHttpHttpRouter()
httpervice.SetHttpRouter(slf.httpRouter,slf.GetEventHandler())
@@ -78,3 +88,12 @@ func (slf *GateService) OnConnected(clientid uint64){
func (slf *GateService) OnDisconnected(clientid uint64){
fmt.Printf("client id %d disconnected",clientid)
}
func (slf *GateService) OnWSConnected(clientid uint64){
fmt.Printf("client id %d connected",clientid)
}
func (slf *GateService) OnWSDisconnected(clientid uint64){
fmt.Printf("client id %d disconnected",clientid)
}

View File

@@ -5,7 +5,7 @@
"ListenAddr":"127.0.0.1:8001",
"NodeName": "Node_Test1",
"remark":"//以_打头的表示只在本机进程不对整个子网开发",
"ServiceList": ["TestService1","TestService2","TestServiceCall","GateService","TcpService","HttpService"]
"ServiceList": ["TestService1","TestService2","TestServiceCall","GateService","TcpService","HttpService","WSService"]
}
]
}

View File

@@ -19,5 +19,11 @@
"LittleEndian":false,
"MinMsgLen":4,
"MaxMsgLen":65535
},
"WSService":{
"ListenAddr":"0.0.0.0:9031",
"MaxConnNum":3000,
"PendingWriteNum":10000,
"MaxMsgLen":65535
}
}

View File

@@ -305,8 +305,9 @@ func main(){
httpService := &sysservice.HttpService{}
wsService := &sysservice.WSService{}
node.Setup(tcpService,gateService,httpService)
node.Setup(tcpService,gateService,httpService,wsService)
node.OpenProfilerReport(time.Second*10)
node.Start()
}