Add timeout for initial handshake.
This commit is contained in:
@@ -108,11 +108,23 @@ type closeMessage struct {
|
|||||||
|
|
||||||
func startClient(conn *websocket.Conn) (err error) {
|
func startClient(conn *websocket.Conn) (err error) {
|
||||||
var m clientMessage
|
var m clientMessage
|
||||||
|
|
||||||
|
err = conn.SetReadDeadline(time.Now().Add(15 * time.Second))
|
||||||
|
if err != nil {
|
||||||
|
conn.Close()
|
||||||
|
return
|
||||||
|
}
|
||||||
err = conn.ReadJSON(&m)
|
err = conn.ReadJSON(&m)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
conn.Close()
|
conn.Close()
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
err = conn.SetReadDeadline(time.Time{})
|
||||||
|
if err != nil {
|
||||||
|
conn.Close()
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
if m.Type != "handshake" {
|
if m.Type != "handshake" {
|
||||||
conn.Close()
|
conn.Close()
|
||||||
return
|
return
|
||||||
|
|||||||
Reference in New Issue
Block a user