Example #1
0
 public void subscribeToChat(CPacheStream cPacheStream)
 {
     lock (locker)
     {
         //add the client to new messages
         cpacheStreams.Add(cPacheStream.StreamId, cPacheStream);
         //send all the old messages
         foreach (ChatLine chatLine in chatContent)
         {
             var ret = JsonConvert.SerializeObject(chatLine);
             cPacheStream.Broadcast(ret);
         }
     }
 }
        protected override void ClientStream(HttpRequest request, CPacheStream cPacheStream)
        {
            myStream = cPacheStream;
            var id = request.Url.Split("?roomid=")[1].Replace("%22", "");

            lock (GameServiceRouter.locker)
            {
                foreach (IGameRoom chatRoom in GameServiceRouter.GetAllRooms())
                {
                    if (chatRoom.instance == id)
                    {
                        ChatRoom = chatRoom;
                    }
                }
            }

            ChatRoom.subscribeToChat(cPacheStream);
        }
Example #3
0
        public void addLine(ChatLine chatLine, CPacheStream cPacheStream)
        {
            if (cpacheStreams.ContainsKey(cPacheStream.StreamId))
            {
                cpacheStreams.Remove(cPacheStream.StreamId);
                cpacheStreams.Add(chatLine.userName, cPacheStream);
                if (players.Count == 0)
                {
                    players.Add(chatLine.userName, new Player()
                    {
                        myTurn = true, Score = 0, Username = chatLine.userName
                    });
                }
                else
                {
                    players.Add(chatLine.userName, new Player()
                    {
                        myTurn = false, Score = 0, Username = chatLine.userName
                    });
                }
            }


            lock (locker)
            {
                //add it to the legder
                chatContent.Add(chatLine);

                foreach (KeyValuePair <String, CPacheStream> client in cpacheStreams)
                {
                    var ret = JsonConvert.SerializeObject(chatLine);
                    try
                    {
                        client.Value.Broadcast(ret);
                    }
                    catch (Exception)
                    {
                        disposedRunningList.Add(client.Value);
                    }
                }
            }
        }
 protected override void DisposedClientStream(CPacheStream cPacheStream)
 {
     throw new NotImplementedException();
 }