main.go 1.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162
  1. package main
  2. import (
  3. "io/ioutil"
  4. "os"
  5. "rocommon"
  6. "rocommon/service"
  7. _ "rocommon/socket"
  8. _ "rocommon/socket/http"
  9. _ "rocommon/socket/tcp"
  10. authModel "roserver/auth/model"
  11. "roserver/baseserver"
  12. "roserver/baseserver/model"
  13. "runtime"
  14. "strconv"
  15. "syscall"
  16. )
  17. func main() {
  18. //记录gate pid用来做关闭操作
  19. sysType := runtime.GOOS
  20. if sysType != "windows" {
  21. if pid := syscall.Getpid(); pid != 1 {
  22. fileName := "auth_server.pid" + strconv.Itoa(pid)
  23. ioutil.WriteFile(fileName, []byte(strconv.Itoa(pid)), 0777)
  24. defer os.Remove(fileName)
  25. }
  26. }
  27. //prof := profile.Start(profile.CPUProfile, profile.ProfilePath("./pprof/auth.pprof"), profile.NoShutdownHook)
  28. baseserver.Init(model.SERVICE_NODE_TYPE_AUTH_STR, nil, &authModel.AuthUpdate{})
  29. //baseserver.Init(model.SERVICE_NODE_TYPE_AUTH_STR, nil, nil)
  30. //先建立服务器对应的连接,再监听客户端
  31. sConfig := service.GetServiceConfig()
  32. //创建服务器之间的监听
  33. var acceNode rocommon.ServerNode = nil
  34. if sConfig.Node.Addr != "" {
  35. acceNode = baseserver.CreateAcceptor(baseserver.ServiceParam{
  36. ServiceType: "tcpAcceptor",
  37. ServiceName: model.SERVICE_NODE_TYPE_AUTH_STR,
  38. ProcName: "auth.backend",
  39. LisAddr: sConfig.Node.Addr,
  40. }, sConfig)
  41. }
  42. //sdk http
  43. authModel.SetHttpNodeParam(&baseserver.ServiceParam{
  44. ServiceType: "httpConnector",
  45. ServiceName: "game",
  46. //LisAddr: "serverlist.wtgame.cn:8088",
  47. //LisAddr: sConfig.Node.ServerList,
  48. })
  49. baseserver.Wait()
  50. //prof.Stop()
  51. baseserver.Exit(acceNode)
  52. }