mirror of
https://github.com/kataras/iris.git
synced 2025-12-18 10:27:06 +00:00
This commit is contained in:
20
websocket.go
20
websocket.go
@@ -348,6 +348,7 @@ type (
|
||||
|
||||
websocketConnection struct {
|
||||
underline *websocket.Conn
|
||||
messageType int
|
||||
id string
|
||||
send chan []byte
|
||||
onDisconnectListeners []WebsocketDisconnectFunc
|
||||
@@ -367,9 +368,10 @@ var _ WebsocketConnection = &websocketConnection{}
|
||||
|
||||
func newWebsocketConnection(websocketConn *websocket.Conn, s *websocketServer) *websocketConnection {
|
||||
c := &websocketConnection{
|
||||
id: utils.RandomString(64),
|
||||
underline: websocketConn,
|
||||
send: make(chan []byte, 256),
|
||||
id: utils.RandomString(64),
|
||||
messageType: websocket.TextMessage,
|
||||
underline: websocketConn,
|
||||
send: make(chan []byte, 256),
|
||||
onDisconnectListeners: make([]WebsocketDisconnectFunc, 0),
|
||||
onErrorListeners: make([]WebsocketErrorFunc, 0),
|
||||
onNativeMessageListeners: make([]WebsocketNativeMessageFunc, 0),
|
||||
@@ -377,6 +379,11 @@ func newWebsocketConnection(websocketConn *websocket.Conn, s *websocketServer) *
|
||||
websocketServer: s,
|
||||
}
|
||||
|
||||
// set the messageType to binary if configuration says to
|
||||
if s.config.BinaryMessages {
|
||||
c.messageType = websocket.BinaryMessage
|
||||
}
|
||||
|
||||
c.self = newWebsocketEmmiter(c, c.id)
|
||||
c.broadcast = newWebsocketEmmiter(c, NotMe)
|
||||
c.all = newWebsocketEmmiter(c, All)
|
||||
@@ -420,7 +427,8 @@ func (c *websocketConnection) writer() {
|
||||
}
|
||||
|
||||
c.underline.SetWriteDeadline(time.Now().Add(c.websocketServer.config.WriteTimeout))
|
||||
res, err := c.underline.NextWriter(websocket.TextMessage)
|
||||
|
||||
res, err := c.underline.NextWriter(c.messageType)
|
||||
if err != nil {
|
||||
return
|
||||
}
|
||||
@@ -435,10 +443,6 @@ func (c *websocketConnection) writer() {
|
||||
return
|
||||
}
|
||||
|
||||
// if err := c.write(websocket.TextMessage, msg); err != nil {
|
||||
// return
|
||||
// }
|
||||
|
||||
case <-ticker.C:
|
||||
if err := c.write(websocket.PingMessage, []byte{}); err != nil {
|
||||
return
|
||||
|
||||
Reference in New Issue
Block a user