Esempio n. 1
0
        //傳送最近訊息紀錄
        private MessageDetail AddMessageinCache(string userName, string message)
        {
            MessageDetail NewMessage = new MessageDetail {
                UserName = userName, Time = DateTime.Now, Message = message
            };

            CurrentMessage.Add(NewMessage);

            if (CurrentMessage.Count > 100)
            {
                CurrentMessage.RemoveAt(0);
            }

            return(NewMessage);
        }
Esempio n. 2
0
        //聊天內容的「公告」,散佈給所有人。
        public void SendMessageToAll(string message)
        {
            string id = Context.ConnectionId;

            if (ConnectedUsers.ContainsKey(id))
            {
                UserDetail CurrentUser = ConnectedUsers[id];

                // store last 100 messages in cache
                MessageDetail NewMessage = AddMessageinCache(CurrentUser.UserName, message);

                // Broad cast message
                Clients.All.messageReceived(NewMessage);

                Log.Trace("{0}發送訊息{1}", CurrentUser.UserName, message);
            }
        }