コード例 #1
0
        //private void AppendLineToChatBox(string message)
        //{
        //    chatbox.Dispatcher.BeginInvoke(new Action<string>((messageToAdd) =>
        //    {
        //        chatbox.AppendText(messageToAdd + "\n");
        //        chatbox.ScrollToEnd();
        //    }), new object[] { message });
        //}
        //private async void UpdateChat()
        //{
        //    //var chat = new ChatService.ChatServiceClient(channel);

        //    //var stream = chat.chatStream();

        //    //string message;

        //    //while (await stream.ResponseStream.MoveNext())
        //    //{
        //    //    var serverMessage = stream.ResponseStream.Current;

        //    //    message = serverMessage.Name + " says: " + serverMessage.Textmessage;

        //    //    AppendLineToChatBox(message);
        //    //}
        //}

        ///------------------> Buttons <------------------//////

        private void btn_connect_Click(object sender, RoutedEventArgs e)
        {
            if (txt_name.Text.ToString() == "")
            {
                MessageBox.Show("Ups! You forgot to set your name!", "Error!");
            }
            else
            {
                if (isConnected == true)
                {
                    MessageBox.Show("Ups! You are already connected!", "Error!");
                }
                else
                {
                    client.Name = txt_name.Text.ToString();
                    var logIn = new LogInService.LogInServiceClient(channel);
                    logIn.logIn(client);

                    //ChatService chat = new ChatService();
                    //chat.Subscribe();

                    isConnected = true;

                    string message;

                    message = "You are now Connected! Welcome " + client.Name + "!";
                    lb_connectBool.Content    = message;
                    lb_connectBool.Foreground = new SolidColorBrush(Colors.Green);
                }
            }
        }
コード例 #2
0
        public static async Task Main(string[] args)
        {
            const string Host = "localhost";
            const int    Port = 16842;

            var channel = new Channel($"{Host}:{Port}", ChannelCredentials.Insecure);
            var client  = new LogInRequest();

            Console.WriteLine("------------------------------------");
            Console.WriteLine("----------- Hello there ! ----------");
            Console.WriteLine("------------------------------------");

            do
            {
                Console.WriteLine("\nPlease enter your name: ");
                client.Name = Console.ReadLine();
                Console.WriteLine("\n------------------------------------");
            } while (isValid(client.Name) == false);

            var logIn = new LogInService.LogInServiceClient(channel);

            logIn.logIn(client);

            Console.WriteLine("Welcome " + client.Name + "!");
            Console.WriteLine("------------------------------------");

            var clientMessage = new ChatRequest();

            clientMessage.Name = client.Name;

            do
            {
                do
                {
                    Console.WriteLine("\nPlease enter your message: ");
                    clientMessage.Textmessage = Console.ReadLine();
                    Console.WriteLine("------------------------------------");
                } while (isValid(clientMessage.Textmessage) == false);

                var chat = new ChatService.ChatServiceClient(channel);
                chat.sendMessage(clientMessage);

                var stream = chat.chatStream();
                while (await stream.ResponseStream.MoveNext())
                {
                    var serverMessage = stream.ResponseStream.Current;

                    Console.WriteLine(serverMessage.Name + " says: " + serverMessage.Textmessage);
                    Console.WriteLine("------------------------------------");
                }
            } while (true);

            // Shutdown
            channel.ShutdownAsync().Wait();
            Console.WriteLine("Press any key to exit...");
            Console.ReadKey();
        }
コード例 #3
0
        ///------------------> Utils <------------------//////

        void DataWindow_Closing(object sender, CancelEventArgs e)
        {
            var logIn = new LogInService.LogInServiceClient(channel);

            logIn.logOut(client);
        }