mirror of
https://github.com/duanhf2012/origin.git
synced 2026-02-15 00:04:46 +08:00
Compare commits
1 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
173d84f7e6 |
@@ -21,7 +21,7 @@ type WSServer struct {
|
|||||||
NewAgent func(*WSConn) Agent
|
NewAgent func(*WSConn) Agent
|
||||||
ln net.Listener
|
ln net.Listener
|
||||||
handler *WSHandler
|
handler *WSHandler
|
||||||
messageType int
|
messageType int
|
||||||
}
|
}
|
||||||
|
|
||||||
type WSHandler struct {
|
type WSHandler struct {
|
||||||
@@ -33,10 +33,10 @@ type WSHandler struct {
|
|||||||
conns WebsocketConnSet
|
conns WebsocketConnSet
|
||||||
mutexConns sync.Mutex
|
mutexConns sync.Mutex
|
||||||
wg sync.WaitGroup
|
wg sync.WaitGroup
|
||||||
messageType int
|
messageType int
|
||||||
}
|
}
|
||||||
|
|
||||||
func (handler *WSHandler) SetMessageType(messageType int){
|
func (handler *WSHandler) SetMessageType(messageType int) {
|
||||||
handler.messageType = messageType
|
handler.messageType = messageType
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -51,7 +51,9 @@ func (handler *WSHandler) ServeHTTP(w http.ResponseWriter, r *http.Request) {
|
|||||||
return
|
return
|
||||||
}
|
}
|
||||||
conn.SetReadLimit(int64(handler.maxMsgLen))
|
conn.SetReadLimit(int64(handler.maxMsgLen))
|
||||||
handler.messageType = websocket.TextMessage
|
if handler.messageType == 0 {
|
||||||
|
handler.messageType = websocket.TextMessage
|
||||||
|
}
|
||||||
|
|
||||||
handler.wg.Add(1)
|
handler.wg.Add(1)
|
||||||
defer handler.wg.Done()
|
defer handler.wg.Done()
|
||||||
@@ -71,7 +73,7 @@ func (handler *WSHandler) ServeHTTP(w http.ResponseWriter, r *http.Request) {
|
|||||||
handler.conns[conn] = struct{}{}
|
handler.conns[conn] = struct{}{}
|
||||||
handler.mutexConns.Unlock()
|
handler.mutexConns.Unlock()
|
||||||
|
|
||||||
wsConn := newWSConn(conn, handler.pendingWriteNum, handler.maxMsgLen,handler.messageType)
|
wsConn := newWSConn(conn, handler.pendingWriteNum, handler.maxMsgLen, handler.messageType)
|
||||||
agent := handler.newAgent(wsConn)
|
agent := handler.newAgent(wsConn)
|
||||||
agent.Run()
|
agent.Run()
|
||||||
|
|
||||||
@@ -83,9 +85,9 @@ func (handler *WSHandler) ServeHTTP(w http.ResponseWriter, r *http.Request) {
|
|||||||
agent.OnClose()
|
agent.OnClose()
|
||||||
}
|
}
|
||||||
|
|
||||||
func (server *WSServer) SetMessageType(messageType int){
|
func (server *WSServer) SetMessageType(messageType int) {
|
||||||
server.messageType = messageType
|
server.messageType = messageType
|
||||||
if server.handler!= nil {
|
if server.handler != nil {
|
||||||
server.handler.SetMessageType(messageType)
|
server.handler.SetMessageType(messageType)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user