public Chatform(Chatroom chatroom) { // // Required for Windows Form Designer support // InitializeComponent(); m_chatroom = chatroom; }
public chatForm(int port, string usernme) { InitializeComponent(); DuplexChannelFactory<Chatroom> dupFactory = null; TextChatter _chatter = new TextChatter(this); dupFactory = new DuplexChannelFactory<Chatroom>( _chatter, new NetTcpBinding(), new EndpointAddress("net.tcp://localhost:" + port + "/Chat")); dupFactory.Open(); clientProxy = dupFactory.CreateChannel(); username = usernme; clientProxy.join(username); }
/** * 自定义api地址 * */ //private static readonly String api = "http://api.cn.ronghub.com"; static void Main(String[] args) { RongCloud rongCloud = RongCloud.GetInstance(appKey, appSecret); //自定义 api地址方式 //RongCloud rongCloud = RongCloud.getInstance(appKey, appSecret,api); Chatroom chatroom = rongCloud.Chatroom; /** * API 文档: http://www.rongcloud.cn/docs/server_sdk_api/chatroom/chatroom.html#create * * 创建聊天室 * * */ ChatroomModel[] chatrooms = { new ChatroomModel() { Id = "OIBbeKlkx", Name = "chatroomName1" }, new ChatroomModel() { Id = "chatroomId2", Name = "chatroomName2" } }; ResponseResult result = chatroom.Create(chatrooms); Console.WriteLine("create: " + result.ToString()); /** * * API 文档: http://www.rongcloud.cn/docs/server_sdk_api/chatroom/chatroom.html#destory * 销毁聊天室 * * */ ChatroomModel chatroomModel = new ChatroomModel() { Id = "chatroomId2" }; //ResponseResult chatroomDestroyResult = chatroom.Destroy(chatroomModel); //Console.WriteLine("destroy: " + chatroomDestroyResult.ToString()); /** * * API 文档: http://www.rongcloud.cn/docs/server_sdk_api/chatroom/chatroom.html#getMembers * 查询聊天室成员demo * * */ chatroomModel = new ChatroomModel() { Id = "OIBbeKlkx", Count = 10, Order = 1 }; ChatroomUserQueryResult chatroomQueryUserResult = chatroom.Get(chatroomModel); Console.WriteLine("queryUser: "******"e5ZnCtyfE", ChatroomId = "OIBbeKlkx" }; CheckChatRoomUserResult checkMemberResult = chatroom.IsExist(member); Console.WriteLine("checkChatroomUserResult: " + checkMemberResult.IsInChrm); Console.ReadLine(); }
public void ChatroomConstructorTest() { Chatroom target = new Chatroom(); Assert.Inconclusive("TODO: Implement code to verify target"); }
public async Task UpdateChatroomAsync(Chatroom chatroom) { _unitOfWork.ChatroomRepository.Update(chatroom); await _unitOfWork.CommitAsync(); }
private async Task CreateChatroom(Chatroom chatroom) { await _unitOfWork.ChatroomRepository.InsertAsync(chatroom); await _unitOfWork.CommitAsync(); }
private static AddChatUserDto CreateAddMemberPageDto(List <ChatUser> nonMembers, Chatroom chatroom) { var dto = new AddChatUserDto { NonMembers = nonMembers, Chatroom = chatroom }; return(dto); }
//class constructor public Cli() { myChatRoom = new Chatroom(); menu = myChatRoom.ChatroomMenu; running = true; }
public static void Main(string[] args) { // Create chatroom Chatroom c = new Chatroom(); // Create 'chatters' and register them Participant George =new BeatleParticipant("George"); Participant Paul = new BeatleParticipant("Paul"); Participant Ringo = new BeatleParticipant("Ringo"); Participant John = new BeatleParticipant("John") ; Participant Yoko = new NonBeatleParticipant("Yoko"); c.Register( George ); c.Register( Paul ); c.Register( Ringo ); c.Register( John ); c.Register( Yoko ); // Chatting participants Yoko.Send( "John", "Hi John!" ); Paul.Send( "Ringo", "All you need is love" ); Ringo.Send( "George", "My sweet Lord" ); Paul.Send( "John", "Can't buy me love" ); John.Send( "Yoko", "My sweet love" ) ; }
public void Initialization() { _chatroom = new Chatroom(); }
private void Auth() { AuthentificationManager am = new AuthentificationManager(); TopicsManager tm = new TopicsManager(); try { while (true) { /* Vérification de la connexion avec le client */ if (!(clientSocket.Connected)) { ctThread.Abort(); } /* Nous avons créé chatLibrary.dll qui nous apporte les différents paquets utilisables par notre application*/ Packet packet = null; try { packet = Packet.Receive(ns); } catch (SerializationException e) { Console.WriteLine(e); } /* Packet de login */ if (packet is AuthPacket) { AuthPacket ap = (AuthPacket)packet; Console.Write("[AUTHENTIFICATION]User " + ap.login + " attempting to connect"); // flag contient le code d'erreur int flag = am.authentify(ap.login, ap.password); // packet de callback LoginPacket bp = new LoginPacket(flag); if (flag == 1) { /* User logged in */ Console.WriteLine(" SUCCESS"); User u = new User(ap.login, ap.password, ns); u.chatter = new Chatter(ap.login); ChatServer.addUser(u); Packet.Send(bp, ns); /* Displaying topics to user */ Console.Write("[SERVER]Sending topics : "); Console.Write("["); for (int i = 0; i < tm.getRooms().Count; ++i) { if (i == tm.getRooms().Count - 1) { Console.Write(tm.getRooms()[i]); } else { Console.Write(tm.getRooms()[i] + ", "); } } Console.WriteLine("]"); // Envoie des chatrooms disponibles TopicsPacket tp = new TopicsPacket(tm.getRooms()); Packet.Send(tp, ns); } else { Console.WriteLine("[AUTHENTIFICATION]Error, unable to connect the user " + ap.login + ", error code : " + flag); Packet.Send(bp, ns); this.Auth(); } } /* Paquet d'inscription d'un nouvel utilisateur */ if (packet is SubscribePacket) { SubscribePacket sb = (SubscribePacket)packet; SubscribeValidation sv = new SubscribeValidation(am.addUser(sb.login, sb.password)); if (sv.value) { Console.WriteLine("[REGISTER]User " + sb.login + " successfully created"); } else { Console.WriteLine("[REGISTER]Error during " + sb.login + " account creation"); } Packet.Send(sv, ns); } /* Paquet pour rejoindre une chatroom */ if (packet is JoinChatRoomPacket) { JoinChatRoomPacket jcp = (JoinChatRoomPacket)packet; if (tm.getRooms().Contains(jcp.chatRoom)) { bool flag = tm.joinTopic(jcp.chatRoom, ChatServer.getUser(jcp.user)); if (flag) { Console.WriteLine("[TOPICS]User " + jcp.user + " joined chatroom : " + jcp.chatRoom); } else { Console.WriteLine("[TOPICS]Cannont connect user to the chatroom, user : "******" is already in the chatroom : " + jcp.chatRoom); } Chatroom ct = (Chatroom)tm.getRoom(jcp.chatRoom); ListChatterPacket lcp = new ListChatterPacket(ct.getChatters(), jcp.chatRoom); Thread.Sleep(500); foreach (User u in ct.chatters) { Console.WriteLine("[TOPICS]Sending user list from " + jcp.chatRoom + " to user " + u.login); Packet.Send(lcp, u.ns); } } } /* Paquet pour créer une chatroom */ if (packet is CreateChatRoomPacket) { bool flag; CreateChatRoomValidationPacket ccvp; CreateChatRoomPacket ccp = (CreateChatRoomPacket)packet; if (!tm.topics.ContainsKey(ccp.chatRoom)) { flag = tm.createTopic(ccp.chatRoom); if (flag) { Console.WriteLine("[TOPICS]User " + ccp.user + " created chatroom : " + ccp.chatRoom); TopicsPacket tp = new TopicsPacket(tm.getRooms()); foreach (User u in ChatServer.chattingUsers) { Packet.Send(tp, u.ns); } } /* Broadcast la création de room avec affichage de message */ ccvp = new CreateChatRoomValidationPacket(flag, ccp.chatRoom); } else { flag = false; Console.WriteLine("[TOPICS]Chatroom creation failed, chatroom : " + ccp.chatRoom + " already exists"); ccvp = new CreateChatRoomValidationPacket(flag, ccp.chatRoom); } Packet.Send(ccvp, ns); } /* Paquet d'envoie de message */ if (packet is MessagePacket) { MessagePacket mp = (MessagePacket)packet; Console.WriteLine("[CHATROOM]Posting message : [" + mp.message + "] in chatroom :" + mp.chatroom + " by user : "******"[CHATROOM]User : "******" is leaving chatroom : " + lcrp.chatRoom); /* Il faut lock ici pour éviter un problème dans la liste des utilisateurs * Nous evitons ainsi d'envoyer un message à un utilisateur déjà déconnecté */ lock (thisLock) { cible.quit(ChatServer.getUser(lcrp.user)); Chatroom ct = (Chatroom)tm.getRoom(lcrp.chatRoom); ListChatterPacket lcp = new ListChatterPacket(ct.getChatters(), lcrp.chatRoom); Thread.Sleep(1000); foreach (User u in ct.chatters) { Console.WriteLine("[TOPICS]Sending user list from " + lcrp.chatRoom + " to user " + u.login); Packet.Send(lcp, u.ns); } } } /* Paquet de déconnexion d'un utilisateur */ if (packet is DisconnectPacket) { DisconnectPacket dp = (DisconnectPacket)packet; Thread.Sleep(200); User u = ChatServer.getUser(dp.user); u.ns.Close(); ChatServer.removeUser(u); this.clientSocket.Close(); Console.WriteLine("[SERVER]A user disconnected properly"); } } } catch (IOException e) { Console.WriteLine("[SERVER]A user crashed"); ctThread.Join(); } catch (NullReferenceException ex) { Console.WriteLine("[TOPICS]Impossible de retirer le client, celui-ci n'existe pas dans la chatroom"); Console.WriteLine(ex); } }
internal override void Execute(Program app) { var messages = Chatroom.GetRecentMessagesAsync(Count).Result; messages.ForEach(e => Console.WriteLine(e.ToReadString())); }
public DesignPatternModule() { Get["/testStatePattern"] = _ => { var traficLight = new TraficLight(); var process = traficLight.StartTheTraficLight(); return(process); }; Get["/testNullObjectPattern"] = _ => { var dog = new Dog(); var dougSound = "Dog Sound: " + dog.MakeSound() + ", "; var unknown = Animal.Null; var noAnimalSound = "No Animal Sound: " + unknown.MakeSound(); return(dougSound + noAnimalSound); }; Get["/testObserverPattern"] = _ => { var observable = new Observable(); var observer = new Observer(); observable.SomethingHappened += observer.HandleEvent; var observerValue = observable.DoSomething(); return(observerValue); }; Get["/testBridgePattern/{currentSource}"] = _ => { var currentSource = (string)_.currentSource; var myCustomTv = new MyCustomTv(); switch (currentSource) { case "1": myCustomTv.VideoSource = new LocalCableTv(); break; case "2": myCustomTv.VideoSource = new CableColorTv(); break; case "3": myCustomTv.VideoSource = new TigoService(); break; } var tvGuide = myCustomTv.ShowTvGuide(); var playVideo = myCustomTv.ShowTvGuide(); return(tvGuide + " / " + playVideo); }; Get["/testVisitorPattern"] = _ => { var popRock = new PopRockMusicVisitor(); var musicLibrary = new MusicLibrary(); var songs = musicLibrary.Accept(popRock); return(songs); }; Get["/testBuilderPattern"] = _ => { var shop = new Shop(); VehicleBuilder builder = new CarBuilder(); shop.Construct(builder); var getBuilderProcess = builder.Vehicle.Show(); return(getBuilderProcess); }; Get["/testInterpreterPattern"] = _ => { const string roman = "MCMXXVIII"; var context = new Context(roman); var tree = new List <Expression> { new ThousandExpression(), new HundredExpression(), new TenExpression(), new OneExpression() }; foreach (var exp in tree) { exp.Interpret(context); } return("Interpreter Input: " + roman + ", Interpreter Output: " + context.Output); }; Get["/testChainOfResponsabilityPattern"] = _ => { var response = ""; var pamela = new Director(); var byron = new VicePresident(); var colin = new President(); pamela.SetSuccessor(byron); byron.SetSuccessor(colin); var p = new Purchase(2034, 350.00, "Assets"); response = pamela.ProcessRequest(p); p = new Purchase(2035, 32590.10, "Project X"); response += " / " + pamela.ProcessRequest(p); p = new Purchase(2036, 90000.00, "Project Y"); response += " / " + pamela.ProcessRequest(p); p = new Purchase(2036, 122100.00, "Project Z"); response += " / " + pamela.ProcessRequest(p); return(response); }; Get["/testIteratorPattern"] = _ => { var collection = new Collection(); collection[0] = new Item("Item 0"); collection[1] = new Item("Item 1"); collection[2] = new Item("Item 2"); collection[3] = new Item("Item 3"); collection[4] = new Item("Item 4"); collection[5] = new Item("Item 5"); collection[6] = new Item("Item 6"); collection[7] = new Item("Item 7"); collection[8] = new Item("Item 8"); var iterator = collection.CreateIterator(); iterator.Step = 2; var response = "Iterating over collection:"; for (var item = iterator.First(); !iterator.IsDone; item = iterator.Next()) { response += item.Name + " / "; } return(response); }; Get["/testAdapterPattern"] = _ => { var response = ""; var unknown = new Compound("Unknown"); response += " / " + unknown.Display(); var water = new RichCompound("Water"); response += " / " + water.Display(); var benzene = new RichCompound("Benzene"); response += " / " + benzene.Display(); var ethanol = new RichCompound("Ethanol"); response += " / " + ethanol.Display(); return(response); }; Get["/testCommandPattern"] = _ => { var response = ""; var user = new User(); response += user.Compute('+', 100) + " / "; response += user.Compute('-', 50) + " / "; response += user.Compute('*', 10) + " / "; response += user.Compute('/', 2) + " / "; response += user.Undo(4) + " / "; response += user.Redo(3); return(response); }; Get["/testFactoryPattern"] = _ => { var response = ""; var documents = new Document[2]; documents[0] = new Resume(); documents[1] = new Report(); foreach (var document in documents) { response += document.GetType().Name + "--"; foreach (var page in document.Pages) { response += " " + page.GetType().Name; } } return(response); }; Get["/testStrategyPattern"] = _ => { var response = ""; var studentRecords = new SortedList(); studentRecords.Add("Samual"); studentRecords.Add("Jimmy"); studentRecords.Add("Sandra"); studentRecords.Add("Vivek"); studentRecords.Add("Anna"); studentRecords.SetSortStrategy(new QuickSort()); response += "Quicksort: " + studentRecords.Sort() + " -- "; studentRecords.SetSortStrategy(new ShellSort()); response += "ShellSort: " + studentRecords.Sort() + " -- "; studentRecords.SetSortStrategy(new MergeSort()); response += "MergeSort: " + studentRecords.Sort(); return(response); }; Get["/testTemplatePattern"] = _ => { var response = ""; AbstractClass aA = new ConcreteClassA(); response += aA.TemplateMethod(); AbstractClass aB = new ConcreteClassB(); response += aB.TemplateMethod(); return(response); }; Get["/testFacadePattern"] = _ => { var response = ""; var mortgage = new Mortgage(); var customer = new Customer("Ann McKinsey"); var eligible = mortgage.IsEligible(customer, 125000); response += customer.Name + " has been " + (eligible ? "Approved" : "Rejected"); return(response); }; Get["/mediatorPattern"] = _ => { var response = ""; var chatroom = new Chatroom(); Participant paul = new Beatle("Paul"); Participant john = new Beatle("John"); Participant yoko = new NonBeatle("Yoko"); Participant ringo = new Beatle("Ringo"); chatroom.Register(paul); chatroom.Register(john); chatroom.Register(yoko); chatroom.Register(ringo); response += yoko.Send("John", "Hi John!") + " "; response += paul.Send("Ringo", "All you need is love") + " "; response += paul.Send("John", "Can't buy me love") + " "; response += john.Send("Yoko", "My sweet love"); return(response); }; Get["/testFlyweightPattern"] = _ => { var response = ""; const string document = "AAZZBBZB"; var chars = document.ToCharArray(); var factory = new CharacterFactory(); var pointSize = 10; foreach (var c in chars) { pointSize++; var character = factory.GetCharacter(c); response += character.Display(pointSize) + " "; } return(response); }; Get["/testMomentoPattern"] = _ => { var response = "Save Sales, Restore Memento"; var s = new SalesProspect { Name = "Noel van Halen", Phone = "(412) 256-0990", Budget = 25000.0 }; var m = new ProspectMemory { Memento = s.SaveMemento() }; s.Name = "Leo Welch"; s.Phone = "(310) 209-7111"; s.Budget = 1000000.0; s.RestoreMemento(m.Memento); return(response); }; Get["/testDoubleDispatchPattern"] = _ => { var response = ""; object x = 5; var dispatch = new DoubleDispatch(); response += dispatch.Foo <int>(x); response += dispatch.Foo <string>(x.ToString()); return(response); }; Get["/testTransactionScriptPattern"] = _ => { var response = ""; response += "Booked Holiday: " + HolidayService.BookHolidayFor(1, new DateTime(2016, 12, 31), new DateTime(2017, 1, 5)) + " - "; response += "Employes Leaving in Holiday: " + string.Join(", ", HolidayService.GetAllEmployeesOnLeaveBetween(new DateTime(2016, 12, 31), new DateTime(2017, 1, 5)).Select(x => x.Name)) + " - "; response += "Employes without Holiday: " + string.Join(", ", HolidayService.GetAllEmployeesWithHolidayRemaining().Select(x => x.Name)); return(response); }; }
/// <summary> /// Initializes a new instance of the <see cref="DisconnectChatroomEventArgs"/> class. /// </summary> public DisconnectChatroomEventArgs(Chatroom room) { Chatroom = room; }
public Chatroom AddChatroom(Chatroom chatroom) { throw new NotImplementedException(); }
// Entry point into console application. static void Main() { // Create chatroom Chatroom chatroom = new Chatroom(); // Create participants and register them Participant George = new Beatle("George"); Participant Paul = new Beatle("Paul"); Participant Ringo = new Beatle("Ringo"); Participant John = new Beatle("John"); Participant Yoko = new NonBeatle("Yoko"); Participant Mike = new NonBeatle("Mike"); chatroom.Register(George); chatroom.Register(Paul); chatroom.Register(Ringo); chatroom.Register(John); chatroom.Register(Yoko); chatroom.Register(Mike); // Chatting participants Mike.Send("John", "We miss you!"); Yoko.Send("John", "Hi John!"); Paul.Send("Ringo", "All you need is love"); Ringo.Send("George", "My sweet Lord"); Paul.Send("John", "Can't buy me love"); John.Send("Yoko", "My sweet love"); John.Send("Mike", "Hi Mike"); John.Send("Bob", "Hi Bob"); // Note that Bob has not been registered with the chatroom // Wait for user Console.ReadKey(); }
internal override void Execute(Program app) { Chatroom.AddPeoplesAsync(PeopleIds).Wait(); }
public ServerChatRoom(Chatroom chatroom) { this.textChatroom = (TextChatRoom)chatroom; }
public async Task CreateChatroom(Chatroom chatroom) { await this.PostData <Chatroom>(this.messengerUrl, chatroom); }