Example #1
0
 private void ChooseScopeofMessage(string text, Socket socket)
 {
     if (text.Length >= 9 && text.Substring(0, 9) == "Subscribe")
     {
         RoomType roomType = getRoomType(text[9]);
         SubscribeToRoom(roomType, socket);
     }
     else if (text == "GetRooms")
     {
         Tuple <int, string> socketDetails = GetIpAddress(socket);
         var roomSubscriber = new RoomSubscriber(this.messageHub);
         roomSubscriber.GetSubscribedRooms(socketDetails);
         SendSubscribedRooms(socket);
     }
     else if (text.Length >= 11 && text.Substring(0, 11) == "UnSubscribe")
     {
         RoomType roomType = getRoomType(text[11]);
         UnsubscribeRoom(roomType, socket);
     }
     else if (text.Length > 9 && text.Substring(0, 9) == "Publisher")
     {
         PublisherMessage(text);
     }
     else if (text == "GetInfo")
     {
         SendCorespondingMessages(socket);
     }
 }
Example #2
0
        private void SendCorespondingMessages(Socket socket)
        {
            RoomSubscriber roomSubscriber = new RoomSubscriber(messageHub);

            CheckSocket(socket);
            roomSubscriber.GetMessages();
        }
Example #3
0
 private void subscribeRooms(IEnumerable <IRoom> rooms)
 {
     foreach (var room in rooms)
     {
         var subscriber = new RoomSubscriber(room, _treeView, findRoom, addObjectToTree, addAreaToTree, removeFromTree);
         _roomSubscribers.Add(subscriber);
     }
 }
Example #4
0
        public void SubscribeToRoom(RoomType roomType, Socket socket)
        {
            RoomSubscriber roomSubscriber = new RoomSubscriber(this.messageHub);
            SocketModel    socketModel    = generateSocketModel(roomType, socket);

            roomSubscriber.Subscribe(roomType, socketModel);
            var modelId = socketRepository.GetSocketId(socketModel.Port, socketModel.IpAddress);

            if (modelId == 0)
            {
                socketModel = socketRepository.Insert(socketModel);
            }
            var clientRoom = new ClientRoom();

            clientRoom.Room     = (int)roomType;
            clientRoom.SocketId = modelId;
            clientRoomRepository.Insert(clientRoom);
        }