perf: server 包 websocket SetReadDeadline 优化
This commit is contained in:
parent
637ae27882
commit
dc3c7d2eea
|
@ -310,9 +310,15 @@ func (slf *Server) Run(addr string) error {
|
||||||
conn.Close(e)
|
conn.Close(e)
|
||||||
}
|
}
|
||||||
}()
|
}()
|
||||||
|
var deadline = times.Zero
|
||||||
|
if slf.websocketReadDeadline > 0 {
|
||||||
|
deadline = time.Now().Add(slf.websocketReadDeadline)
|
||||||
|
}
|
||||||
for !conn.IsClosed() {
|
for !conn.IsClosed() {
|
||||||
if err := ws.SetReadDeadline(super.If(slf.websocketReadDeadline <= 0, times.Zero, time.Now().Add(slf.websocketReadDeadline))); err != nil {
|
if slf.websocketReadDeadline > 0 {
|
||||||
panic(err)
|
if err := ws.SetReadDeadline(deadline); err != nil {
|
||||||
|
panic(err)
|
||||||
|
}
|
||||||
}
|
}
|
||||||
messageType, packet, readErr := ws.ReadMessage()
|
messageType, packet, readErr := ws.ReadMessage()
|
||||||
if readErr != nil {
|
if readErr != nil {
|
||||||
|
|
Loading…
Reference in New Issue