43 lines
1013 B
Plaintext
43 lines
1013 B
Plaintext
|
codec, err := sh.gwRPCSH.GetCodec(soc.Context().GetAttribute("contentType").(string))
|
||
|
if nil != err {
|
||
|
log.Printf("RPC Handle: %v", err)
|
||
|
doneChan <- struct{}{}
|
||
|
return
|
||
|
}
|
||
|
|
||
|
var socConn *cwf.SocketConn
|
||
|
ctx := context.WithValue(context.Background(), oogw.ServletSocketKey, rpcSoc)
|
||
|
// conn.SetPongHandler(func(string) error { c.conn.SetReadDeadline(time.Now().Add(pongWait)); return nil })
|
||
|
|
||
|
for {
|
||
|
if socConn, err = rpcSoc.WaitRequest(); nil != err {
|
||
|
doneChan <- struct{}{}
|
||
|
return
|
||
|
}
|
||
|
|
||
|
// // "git.loafle.net/commons_go/websocket_fasthttp/websocket"
|
||
|
// switch socConn.MessageType {
|
||
|
// case websocket.TextMessage:
|
||
|
// case websocket.BinaryMessage:
|
||
|
// }
|
||
|
|
||
|
if err = gateway.Handle(ctx, sh.gwRPCSH, codec, socConn, socConn); nil != err {
|
||
|
if server.IsClientDisconnect(err) {
|
||
|
doneChan <- struct{}{}
|
||
|
return
|
||
|
}
|
||
|
log.Printf("RPC: %v", err)
|
||
|
}
|
||
|
|
||
|
if err = socConn.Close(); nil != err {
|
||
|
doneChan <- struct{}{}
|
||
|
return
|
||
|
}
|
||
|
|
||
|
select {
|
||
|
case <-stopChan:
|
||
|
return
|
||
|
default:
|
||
|
}
|
||
|
}
|