本文整理汇总了Golang中golang.org/x/net/websocket.Conn.SetDeadline方法的典型用法代码示例。如果您正苦于以下问题:Golang Conn.SetDeadline方法的具体用法?Golang Conn.SetDeadline怎么用?Golang Conn.SetDeadline使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类golang.org/x/net/websocket.Conn
的用法示例。
在下文中一共展示了Conn.SetDeadline方法的5个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Golang代码示例。
示例1: Accept
func (s *Server) Accept(ws *websocket.Conn) {
ws.PayloadType = websocket.BinaryFrame
if _, err := NewConnection(s, ws); err != nil {
ws.SetDeadline(time.Now().Add(2 * time.Millisecond))
ws.Close()
}
}
示例2: setConn
// Reuse an established websocket.Conn.
func (c *Conn) setConn(ws *websocket.Conn) error {
c.ws.Store(ws)
c.connected.Store(true)
if err := ws.SetDeadline(time.Now().Add(c.deadline)); err != nil {
return fmt.Errorf("conn: error while setting websocket connection deadline: %v", err)
}
return nil
}
示例3: setDeadlines
func setDeadlines(ws *websocket.Conn) {
if err := ws.SetDeadline(time.Now().Add(100 * time.Hour)); err != nil {
log.Fatal(err)
}
if err := ws.SetReadDeadline(time.Now().Add(100 * time.Hour)); err != nil {
log.Fatal(err)
}
if err := ws.SetWriteDeadline(time.Now().Add(100 * time.Hour)); err != nil {
log.Fatal(err)
}
}
示例4: handleConnection
func (prod *Websocket) handleConnection(conn *websocket.Conn) {
idx := atomic.AddUint32(&prod.clientIdx, 1) >> 31
prod.clients[idx].conns = append(prod.clients[idx].conns, conn)
prod.clients[idx].doneCount++
buffer := make([]byte, 8)
conn.SetDeadline(time.Time{})
// Keep alive until connection is closed
for {
if _, err := conn.Read(buffer); err != nil {
conn.Close()
break
}
}
}
示例5: resetTimeout
func resetTimeout(ws *websocket.Conn, timeout time.Duration) {
if timeout > 0 {
ws.SetDeadline(time.Now().Add(timeout))
}
}