Jelajahi Sumber

add tcp keep alive option for signal connections

ffdfgdfg 4 tahun lalu
induk
melakukan
894d0c7503
1 mengubah file dengan 6 tambahan dan 0 penghapusan
  1. 6 0
      bridge/bridge.go

+ 6 - 0
bridge/bridge.go

@@ -233,6 +233,12 @@ func (s *Bridge) typeDeal(typeVal string, c *conn.Conn, id int, vs string) {
 			c.Close()
 			return
 		}
+		tcpConn, ok := c.Conn.(*net.TCPConn)
+		if ok {
+			// add tcp keep alive option for signal connection
+			_ = tcpConn.SetKeepAlive(true)
+			_ = tcpConn.SetKeepAlivePeriod(5 * time.Second)
+		}
 		//the vKey connect by another ,close the client of before
 		if v, ok := s.Client.LoadOrStore(id, NewClient(nil, nil, c, vs)); ok {
 			if v.(*Client).signal != nil {