新增wss与https功能

This commit is contained in:
boyce
2019-03-04 15:13:42 +08:00
parent b4d5a6636e
commit a2d8afda9f
5 changed files with 62 additions and 6 deletions

View File

@@ -58,13 +58,16 @@ type WebsocketServer struct {
httpserver *http.Server
reciver map[string]Reciver
certfile string
keyfile string
iswss bool
}
func (slf *WebsocketServer) Init(port uint16) {
slf.port = port
slf.mapClient = make(map[uint64]*WSClient)
}
func (slf *WebsocketServer) CreateClient(conn *websocket.Conn) *WSClient {
@@ -105,7 +108,13 @@ func (slf *WebsocketServer) startListen() {
MaxHeaderBytes: 1 << 20,
}
err := slf.httpserver.ListenAndServe()
var err error
if slf.iswss == true {
err = slf.httpserver.ListenAndServeTLS(slf.certfile, slf.keyfile)
} else {
err = slf.httpserver.ListenAndServe()
}
if err != nil {
fmt.Printf("http.ListenAndServe(%d, nil) error\n", slf.port)
os.Exit(1)
@@ -189,3 +198,10 @@ func (slf *WebsocketServer) initRouterHandler() http.Handler {
cors := cors.AllowAll()
return cors.Handler(r)
}
func (slf *WebsocketServer) SetWSS(certfile string, keyfile string) bool {
slf.certfile = certfile
slf.keyfile = keyfile
slf.iswss = true
return true
}