웹소켓 메시지 전송 채널 단일화
This commit is contained in:
@ -98,7 +98,7 @@ func (r *room) loop(ctx context.Context, conns *map[string]*wsconn) (normalEnd b
|
|||||||
logger.Println("websocket.NewPreparedMessage failed :", err)
|
logger.Println("websocket.NewPreparedMessage failed :", err)
|
||||||
} else {
|
} else {
|
||||||
r.sendMsgChan <- send_msg_queue_elem{
|
r.sendMsgChan <- send_msg_queue_elem{
|
||||||
to: conn,
|
to: conn.Conn,
|
||||||
pmsg: pmsg,
|
pmsg: pmsg,
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -81,7 +81,7 @@ type EventReceiver interface {
|
|||||||
}
|
}
|
||||||
|
|
||||||
type send_msg_queue_elem struct {
|
type send_msg_queue_elem struct {
|
||||||
to *wsconn
|
to *websocket.Conn
|
||||||
pmsg *websocket.PreparedMessage
|
pmsg *websocket.PreparedMessage
|
||||||
//msg []byte
|
//msg []byte
|
||||||
}
|
}
|
||||||
@ -196,6 +196,14 @@ func (ws *WebsocketHandler) SendUpstreamMessage(msg *UpstreamMessage) {
|
|||||||
ws.localDeliveryChan <- msg
|
ws.localDeliveryChan <- msg
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func (ws *WebsocketHandler) WriteDirectMessage(c *websocket.Conn, messageType int, data []byte) {
|
||||||
|
pmsg, _ := websocket.NewPreparedMessage(messageType, data)
|
||||||
|
ws.sendMsgChan <- send_msg_queue_elem{
|
||||||
|
to: c,
|
||||||
|
pmsg: pmsg,
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
func (ws *WebsocketHandler) EnterRoom(room string, accid primitive.ObjectID) {
|
func (ws *WebsocketHandler) EnterRoom(room string, accid primitive.ObjectID) {
|
||||||
ws.localDeliveryChan <- &commandMessage{
|
ws.localDeliveryChan <- &commandMessage{
|
||||||
Cmd: commandType_EnterRoom,
|
Cmd: commandType_EnterRoom,
|
||||||
@ -334,7 +342,7 @@ func (ws *WebsocketHandler) mainLoop(ctx context.Context) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
ws.sendMsgChan <- send_msg_queue_elem{
|
ws.sendMsgChan <- send_msg_queue_elem{
|
||||||
to: conn,
|
to: conn.Conn,
|
||||||
pmsg: pmsg,
|
pmsg: pmsg,
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user