start websocket server
()
| 86 | |
| 87 | //start websocket server |
| 88 | func (self *WsServer) Start() error { |
| 89 | wsPort := int(cfg.DefConfig.Ws.HttpWsPort) |
| 90 | if wsPort == 0 { |
| 91 | log.Error("Not configure HttpWsPort port ") |
| 92 | return nil |
| 93 | } |
| 94 | self.registryMethod() |
| 95 | self.Upgrader.CheckOrigin = func(r *http.Request) bool { |
| 96 | return true |
| 97 | } |
| 98 | |
| 99 | tlsFlag := false |
| 100 | if tlsFlag || wsPort%1000 == rest.TLS_PORT { |
| 101 | var err error |
| 102 | self.listener, err = self.initTlsListen() |
| 103 | if err != nil { |
| 104 | log.Error("Https Cert: ", err.Error()) |
| 105 | return err |
| 106 | } |
| 107 | } else { |
| 108 | var err error |
| 109 | self.listener, err = net.Listen("tcp", ":"+strconv.Itoa(wsPort)) |
| 110 | if err != nil { |
| 111 | log.Fatal("net.Listen: ", err.Error()) |
| 112 | return err |
| 113 | } |
| 114 | } |
| 115 | var done = make(chan bool) |
| 116 | go self.checkSessionsTimeout(done) |
| 117 | |
| 118 | self.server = &http.Server{Handler: http.HandlerFunc(self.webSocketHandler)} |
| 119 | err := self.server.Serve(self.listener) |
| 120 | |
| 121 | done <- true |
| 122 | if err != nil { |
| 123 | log.Fatal("ListenAndServe: ", err.Error()) |
| 124 | return err |
| 125 | } |
| 126 | return nil |
| 127 | |
| 128 | } |
| 129 | |
| 130 | //registry handler method |
| 131 | func (self *WsServer) registryMethod() { |
no test coverage detected