提交httpservice与example示例

This commit is contained in:
duanhf2012
2020-04-07 19:33:27 +08:00
parent bedb715c6d
commit f2eda1c635
10 changed files with 438 additions and 460 deletions

View File

@@ -13,15 +13,30 @@ import (
type GateService struct {
service.Service
processor network.Processor
httpRouter sysservice.IHttpRouter
}
func (slf *GateService) OnInit() error{
tcpervice := node.GetService("TcpService").(*sysservice.TcpService)
slf.processor = &processor.PBProcessor{}
tcpervice.SetProcessor(slf.processor)
httpervice := node.GetService("HttpService").(*sysservice.HttpService)
slf.httpRouter = sysservice.NewHttpHttpRouter(slf)
httpervice.SetHttpRouter(slf.httpRouter)
slf.httpRouter.RegRouter(sysservice.METHOD_GET,"/get/query",slf.HttpTest)
slf.httpRouter.SetServeFile(sysservice.METHOD_GET,"/img/head/","d:/img")
return nil
}
func (slf *GateService) HttpTest(session *sysservice.HttpSession) {
session.SetHeader("a","b")
session.Write([]byte("this is a test"))
v,_:=session.Query("a")
v2,_:=session.Query("b")
fmt.Print(string(session.GetBody()),"\n",v,"\n",v2)
}
func (slf *GateService) OnEventHandler(ev *event.Event) error{
if ev.Type == event.Sys_Event_Tcp_RecvPack {

View File

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

View File

@@ -1,6 +1,16 @@
{
"HttpService":{
"Port":10001
"HttpService":{
"ListenAddr":"0.0.0.0:9402",
"ReadTimeout":10000,
"WriteTimeout":10000,
"ProcessTimeout":10000,
"CAFile":[
{
"Certfile":"",
"Keyfile":""
}
]
},
"TcpService":{
"ListenAddr":"0.0.0.0:9030",

View File

@@ -236,7 +236,10 @@ func main(){
tcpService := &sysservice.TcpService{}
gateService := &GateService.GateService{}
tcpService.SetEventReciver(gateService)
node.Setup(tcpService,gateService)
httpService := &sysservice.HttpService{}
node.Setup(tcpService,gateService,httpService)
node.OpenProfilerReport(time.Second*10)
node.Start()
}