diff --git a/config/websocket.go b/config/websocket.go index 1ada5caa..cc606f76 100644 --- a/config/websocket.go +++ b/config/websocket.go @@ -8,14 +8,14 @@ import ( // Currently only these 5 values are used for real const ( - // DefaultWriteTimeout 10 * time.Second - DefaultWriteTimeout = 10 * time.Second - // DefaultPongTimeout 60 * time.Second - DefaultPongTimeout = 60 * time.Second + // DefaultWriteTimeout 30 * time.Second + DefaultWriteTimeout = 30 * time.Second + // DefaultPongTimeout 120 * time.Second + DefaultPongTimeout = 120 * time.Second // DefaultPingPeriod (DefaultPongTimeout * 9) / 10 DefaultPingPeriod = (DefaultPongTimeout * 9) / 10 - // DefaultMaxMessageSize 1024 - DefaultMaxMessageSize = 1024 + // DefaultMaxMessageSize 2048 + DefaultMaxMessageSize = 2048 ) // @@ -23,17 +23,17 @@ const ( // Websocket the config contains options for 'websocket' package type Websocket struct { // WriteTimeout time allowed to write a message to the connection. - // Default value is 10 * time.Second + // Default value is 30 * time.Second WriteTimeout time.Duration // PongTimeout allowed to read the next pong message from the connection - // Default value is 60 * time.Second + // Default value is 120 * time.Second PongTimeout time.Duration // PingPeriod send ping messages to the connection with this period. Must be less than PongTimeout // Default value is (PongTimeout * 9) / 10 PingPeriod time.Duration // MaxMessageSize max message size allowed from connection - // Default value is 1024 - MaxMessageSize int + // Default value is 2048 + MaxMessageSize int64 // Endpoint is the path which the websocket server will listen for clients/connections // Default value is empty string, if you don't set it the Websocket server is disabled. Endpoint string diff --git a/http.go b/http.go index 9ada71af..310e4c9d 100644 --- a/http.go +++ b/http.go @@ -359,8 +359,8 @@ func (s *Server) serve(l net.Listener) error { return s.Server.Serve(s.listener) } -// open opens/starts/runs/listens (to) the server, listen tls if Cert && Key is registed, listenUNIX if Mode is registed, otherwise listen -func (s *Server) open() error { +// Open opens/starts/runs/listens (to) the server, listen tls if Cert && Key is registed, listenUNIX if Mode is registed, otherwise listen +func (s *Server) Open() error { if s.started { return errServerAlreadyStarted.Return() } diff --git a/initiatory.go b/initiatory.go index 128d599d..9d8d2bf5 100644 --- a/initiatory.go +++ b/initiatory.go @@ -171,7 +171,7 @@ func (s *Framework) prepareTemplates() { func (s *Framework) openServer() (err error) { s.initialize() s.Plugins.DoPreListen(s) - if err = s.HTTPServer.open(); err == nil { + if err = s.HTTPServer.Open(); err == nil { // print the banner if !s.Config.DisableBanner { s.Logger.PrintBanner(banner, diff --git a/websocket/connection.go b/websocket/connection.go index 418016d8..78c53960 100644 --- a/websocket/connection.go +++ b/websocket/connection.go @@ -8,7 +8,6 @@ import ( "strconv" "github.com/iris-contrib/websocket" - "github.com/kataras/iris/config" "github.com/kataras/iris/utils" ) @@ -80,12 +79,12 @@ func newConnection(websocketConn *websocket.Conn, s *server) *connection { } func (c *connection) write(messageType int, data []byte) error { - c.underline.SetWriteDeadline(time.Now().Add(config.DefaultWriteTimeout)) + c.underline.SetWriteDeadline(time.Now().Add(c.server.config.WriteTimeout)) return c.underline.WriteMessage(messageType, data) } func (c *connection) writer() { - ticker := time.NewTicker(config.DefaultPingPeriod) + ticker := time.NewTicker(c.server.config.PingPeriod) defer func() { ticker.Stop() c.underline.Close() @@ -118,10 +117,10 @@ func (c *connection) reader() { }() conn := c.underline - conn.SetReadLimit(config.DefaultMaxMessageSize) - conn.SetReadDeadline(time.Now().Add(config.DefaultPongTimeout)) + conn.SetReadLimit(c.server.config.MaxMessageSize) + conn.SetReadDeadline(time.Now().Add(c.server.config.PongTimeout)) conn.SetPongHandler(func(s string) error { - conn.SetReadDeadline(time.Now().Add(config.DefaultPongTimeout)) + conn.SetReadDeadline(time.Now().Add(c.server.config.PongTimeout)) return nil })