public void MessageJob(CancellationToken token) { Trace.WriteLine(DateTime.Now.ToString() + " test1 start"); string appId = ApplicationConfigUtil.GetAppSeting("WebSocketServer", "WsPath"); WebSocketProxyAgent.Initialization(ApplicationConfigUtil.GetAppSeting("WebSocketServer", "CSRedisClient"), appId); int Status = (int)MessageStatusEumns.Ready; List <string> AppIdList = new List <string>() { appId }; long Count = DataHandleManager.Instance().RtMessageHandle.CountRtMessage(Status, DefaultTimeOutSecond, AppIdList); if (Count > 0) { List <RtMessage> MessageList = DataHandleManager.Instance().RtMessageHandle.GetRtMessageList(Status, DefaultTimeOutSecond, AppIdList); if (!CollectionUtils.IsEmpty(MessageList)) { foreach (var message in MessageList) { string clientRedisKey = RedisUtil.GetUserIdRedisKey(message.AppId, message.UserId); string SessionId = RedisUtil.GetWebSocketSessionID(clientRedisKey); List <Guid> receiveList = new List <Guid>() { new Guid(SessionId) }; WebSocketNotifications notifications = new WebSocketNotifications() { SenderSessionId = Guid.Empty, ReceiveSessionIds = receiveList, Message = message.Message, Receipt = true, NotificationTag = message.id }; WebSocketProxyAgent.SendMessage(notifications); } } } Trace.WriteLine(DateTime.Now.ToString() + " test1 end"); }
public ActionResult <JsonResponses> SendMessage([FromForm] Guid senderWebsocketId, [FromForm] Guid receiveWebsocketId, [FromForm] string message, [FromForm] bool isReceipt = false) { WebSocketProxyAgent.SendMessage(senderWebsocketId, new[] { receiveWebsocketId }, message, isReceipt); return(JsonResponses.Success); }