static void Main(string[] args) { var host = "localhost"; var port = 4099; Console.WriteLine("<Please enter the name...>"); var name = Console.ReadLine(); var client = new ChatRoomClient(host, port); client.Receive += (sender, eventArgs) => { Console.WriteLine($"{eventArgs.Message.Name} sad: {eventArgs.Message.Text}"); }; client.Connect(); client.SendName(name); Console.WriteLine("輸入字串可以送出訊息"); while (true) { var text = Console.ReadLine(); client.SendMessage(text); Console.WriteLine($"訊息: {text} 已送出!"); } }
public RoomList(ChatRoomClient loginSession, Action ShowMenuPage, Action <AvailableRoom> JoinRoomCommand, Action UpdateListSize) { this.UpdateListSize = UpdateListSize; this.JoinRoomCommand = JoinRoomCommand; this.ShowMenuPage = ShowMenuPage; this.loginSession = loginSession; InitializeComponent(); addedUIElements = new List <UIElement>(); }
public Register(ChatRoomClient client, Action ShowLoginPage, Action ShowMenuPage) { this.ShowLoginPage = ShowLoginPage; this.ShowMenuPage = ShowMenuPage; InitializeComponent(); this.KeyDown += new KeyEventHandler(KeyPressHandler); this.client = client; }
public Login(ChatRoomClient client, Action ShowRegisterScreen, Action ShowMenuPage) { this.client = client; this.ShowMenuPage = ShowMenuPage; this.ShowRegisterScreen = ShowRegisterScreen; InitializeComponent(); UpdateLoginInfo(); this.KeyDown += new KeyEventHandler(KeyPressHandler); }
public override Object execute(TransferObject baseto) { StandardTransferObject to = (StandardTransferObject)baseto; String calleeMethod = to.getCalleeMethod(); if (calleeMethod.Equals("receiveMessage")) { String message = to.getString("message"); ChatRoomClient.getInstance().receiveMessage(message); } return(null); }
public async Task Test_EnterAsync_FailedToEnterToRoom() { // Arrange var roomNumber = 8181; using var socket = new ClientWebSocket(); // Act var chatRoomClient = await ChatRoomClient.EnterAsync(roomNumber, socket, CancellationToken.None); // Assert // Fails to enter because there is no open chat room Assert.That(chatRoomClient.IsFailure, Is.EqualTo(true)); }
public void Connect(string host, int port, string name) { m_Client = new ChatRoomClient(host, port); m_Client.Connect(); var syncContext = SynchronizationContext.Current; m_ClientReceiveEventSubscribe = Observable.FromEventPattern <ChatMessageEventArgs>( h => m_Client.Receive += h, h => m_Client.Receive -= h) .Subscribe(e => { syncContext.Post(state => Receive?.Invoke(this, e.EventArgs), null); }); m_Client.SendName(name); }
public static void StartChatServer() { tcpServer = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp); IPEndPoint ipep = new IPEndPoint(IPAddress.Any, GAME_PORT); tcpServer.Bind(ipep); Debug.Log("服务器开启..."); tcpServer.Listen(100); //循环,每连接一个客户端建立一个CharRoomClient对象 chatServerThread = new Thread(() => { while (true) { Socket clientSocket = tcpServer.Accept(); //暂停等待客户端连接,连接后执行后面的代码 ChatRoomClient client = new ChatRoomClient(clientSocket); //连接后,客户端与服务器的操作封装到ChatRoomClient类中 clientList.Add(client); } }); MainUI.destroyDelegate += AbortChatServer; RoomWindow.roomDestroyDelegate += AbortChatServer; chatServerThread.Start(); }