mirror of
https://github.com/duanhf2012/origin.git
synced 2026-02-03 22:45:13 +08:00
优化WSClient的MessageType
This commit is contained in:
@@ -14,6 +14,7 @@ type WSClient struct {
|
|||||||
ConnectInterval time.Duration
|
ConnectInterval time.Duration
|
||||||
PendingWriteNum int
|
PendingWriteNum int
|
||||||
MaxMsgLen uint32
|
MaxMsgLen uint32
|
||||||
|
MessageType int
|
||||||
HandshakeTimeout time.Duration
|
HandshakeTimeout time.Duration
|
||||||
AutoReconnect bool
|
AutoReconnect bool
|
||||||
NewAgent func(*WSConn) Agent
|
NewAgent func(*WSConn) Agent
|
||||||
@@ -21,7 +22,7 @@ type WSClient struct {
|
|||||||
cons WebsocketConnSet
|
cons WebsocketConnSet
|
||||||
wg sync.WaitGroup
|
wg sync.WaitGroup
|
||||||
closeFlag bool
|
closeFlag bool
|
||||||
messageType int
|
|
||||||
}
|
}
|
||||||
|
|
||||||
func (client *WSClient) Start() {
|
func (client *WSClient) Start() {
|
||||||
@@ -63,7 +64,11 @@ func (client *WSClient) init() {
|
|||||||
if client.cons != nil {
|
if client.cons != nil {
|
||||||
log.SFatal("client is running")
|
log.SFatal("client is running")
|
||||||
}
|
}
|
||||||
client.messageType = websocket.TextMessage
|
|
||||||
|
if client.MessageType == 0 {
|
||||||
|
client.MessageType = websocket.TextMessage
|
||||||
|
}
|
||||||
|
|
||||||
client.cons = make(WebsocketConnSet)
|
client.cons = make(WebsocketConnSet)
|
||||||
client.closeFlag = false
|
client.closeFlag = false
|
||||||
client.dialer = websocket.Dialer{
|
client.dialer = websocket.Dialer{
|
||||||
@@ -84,9 +89,6 @@ func (client *WSClient) dial() *websocket.Conn {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
func (client *WSClient) SetMessageType(messageType int){
|
|
||||||
client.messageType = messageType
|
|
||||||
}
|
|
||||||
func (client *WSClient) connect() {
|
func (client *WSClient) connect() {
|
||||||
defer client.wg.Done()
|
defer client.wg.Done()
|
||||||
|
|
||||||
@@ -106,7 +108,7 @@ reconnect:
|
|||||||
client.cons[conn] = struct{}{}
|
client.cons[conn] = struct{}{}
|
||||||
client.Unlock()
|
client.Unlock()
|
||||||
|
|
||||||
wsConn := newWSConn(conn, client.PendingWriteNum, client.MaxMsgLen,client.messageType)
|
wsConn := newWSConn(conn, client.PendingWriteNum, client.MaxMsgLen,client.MessageType)
|
||||||
agent := client.NewAgent(wsConn)
|
agent := client.NewAgent(wsConn)
|
||||||
agent.Run()
|
agent.Run()
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user