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); } }
private void SendCorespondingMessages(Socket socket) { RoomSubscriber roomSubscriber = new RoomSubscriber(messageHub); CheckSocket(socket); roomSubscriber.GetMessages(); }
private void subscribeRooms(IEnumerable <IRoom> rooms) { foreach (var room in rooms) { var subscriber = new RoomSubscriber(room, _treeView, findRoom, addObjectToTree, addAreaToTree, removeFromTree); _roomSubscribers.Add(subscriber); } }
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); }