rooms
parent
b633c31ee8
commit
7898558357
|
@ -79,7 +79,6 @@ func RunHub() {
|
||||||
if len(receivedMessage.RecUser) == utils.LenWebSocketSession {
|
if len(receivedMessage.RecUser) == utils.LenWebSocketSession {
|
||||||
gocnjhelper.LogDebug("type: user message")
|
gocnjhelper.LogDebug("type: user message")
|
||||||
// TODO: check if the user is allowed to sent a message to target user. For example: privacy settings, friend relationship
|
// TODO: check if the user is allowed to sent a message to target user. For example: privacy settings, friend relationship
|
||||||
// TODO: handle when client not connected to websocket. eg. Push Notification
|
|
||||||
SendMessageToClient(receivedMessage.RecUser, structs.SendSocketMessage{Cmd: receivedMessage.Cmd, Body: receivedMessage.Body})
|
SendMessageToClient(receivedMessage.RecUser, structs.SendSocketMessage{Cmd: receivedMessage.Cmd, Body: receivedMessage.Body})
|
||||||
} else if len(receivedMessage.RecRoom) == utils.LenRoomId {
|
} else if len(receivedMessage.RecRoom) == utils.LenRoomId {
|
||||||
gocnjhelper.LogDebug("type: room message")
|
gocnjhelper.LogDebug("type: room message")
|
||||||
|
@ -105,8 +104,6 @@ func RunHub() {
|
||||||
}
|
}
|
||||||
|
|
||||||
for _, roomUser := range roomUsers {
|
for _, roomUser := range roomUsers {
|
||||||
// TODO: handle when client not connected to websocket. eg. Push Notification
|
|
||||||
/*connToWs :=*/
|
|
||||||
SendMessageToClient(roomUser.UserId, structs.SendSocketMessage{
|
SendMessageToClient(roomUser.UserId, structs.SendSocketMessage{
|
||||||
Cmd: receivedMessage.Cmd,
|
Cmd: receivedMessage.Cmd,
|
||||||
Body: receivedMessage.Body,
|
Body: receivedMessage.Body,
|
||||||
|
@ -138,7 +135,7 @@ func isUserInRoom(userId string, roomUsers []dbstructs.RoomUsers) bool {
|
||||||
return false
|
return false
|
||||||
}
|
}
|
||||||
|
|
||||||
func SendMessageToClient(targetUserId string, msg structs.SendSocketMessage) (connectedToWebSocket bool) {
|
func SendMessageToClient(targetUserId string, msg structs.SendSocketMessage) {
|
||||||
if isConnected, socketClients := socketclients.IsReceiverConnectedToThisServer(targetUserId); isConnected {
|
if isConnected, socketClients := socketclients.IsReceiverConnectedToThisServer(targetUserId); isConnected {
|
||||||
// send message to target receiver which is connected to this server
|
// send message to target receiver which is connected to this server
|
||||||
gocnjhelper.LogDebug("FORWARDING MESSAGE: receiver is connected to this server")
|
gocnjhelper.LogDebug("FORWARDING MESSAGE: receiver is connected to this server")
|
||||||
|
@ -147,8 +144,6 @@ func SendMessageToClient(targetUserId string, msg structs.SendSocketMessage) (co
|
||||||
gocnjhelper.LogDebugf("send to %s", socketClient.UserId)
|
gocnjhelper.LogDebugf("send to %s", socketClient.UserId)
|
||||||
socketClient.SendMessage(msg)
|
socketClient.SendMessage(msg)
|
||||||
}
|
}
|
||||||
|
|
||||||
return true
|
|
||||||
} else { // send message to target receiver which is connected to any other server
|
} else { // send message to target receiver which is connected to any other server
|
||||||
gocnjhelper.LogDebug("FORWARDING MESSAGE: receiver connected to other server")
|
gocnjhelper.LogDebug("FORWARDING MESSAGE: receiver connected to other server")
|
||||||
|
|
||||||
|
@ -158,11 +153,9 @@ func SendMessageToClient(targetUserId string, msg structs.SendSocketMessage) (co
|
||||||
if err != nil {
|
if err != nil {
|
||||||
gocnjhelper.LogErrorf("Failed to publish client message, err: %s", err)
|
gocnjhelper.LogErrorf("Failed to publish client message, err: %s", err)
|
||||||
}
|
}
|
||||||
|
} else {
|
||||||
return true
|
// TODO: handle when client not connected to websocket. eg. Push Notification
|
||||||
|
gocnjhelper.LogDebug("rec user not connected to any other websocket server")
|
||||||
}
|
}
|
||||||
|
|
||||||
gocnjhelper.LogDebug("rec user not connected to any other websocket server")
|
|
||||||
}
|
}
|
||||||
return false
|
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue