Esempio n. 1
0
 private void RecvMessage(string m)
 {
     if (ChatTB.InvokeRequired)
     {
         ChatTB.BeginInvoke(new MessageArrived(RecvMessage), new object[] { m });
     }
     else
     {
         ChatTB.AppendText(m);
     }
 }
Esempio n. 2
0
File: Form1.cs Progetto: MilyaZ/Chat
 private void OnMessage(string command, string data)
 {
     if (!ChatTB.InvokeRequired)
     {
         ChatTB.AppendText(data + Environment.NewLine);
     }
     else
     {
         object[] value = { command, data };
         Invoke(new NetMessaging.Receiving(OnMessage), value);
     }
 }
Esempio n. 3
0
File: Form1.cs Progetto: MilyaZ/Chat
 private void OnStart(string command, string data)
 {
     if (!ChatTB.InvokeRequired)
     {
         ChatTB.AppendText("Вы можете писать сообщения!" + Environment.NewLine);
         GoMessaging();
     }
     else
     {
         object[] value = { command, data };
         Invoke(new NetMessaging.Receiving(OnStart), value);
     }
 }
Esempio n. 4
0
 private async void RecvMessage(AsyncServerStreamingCall <Message> ssc)
 {
     try {
         await foreach (var msg in ssc.ResponseStream.ReadAllAsync(cts.Token))
         {
             ChatTB.AppendText(msg.M);
         }
     } catch (RpcException ex) when(ex.Status.StatusCode == StatusCode.Cancelled)
     {
         // Stream Cancelled!
     } catch (Exception ex) {
         LeaveChat();
         MessageBox.Show(ex.Message);
     }
 }
Esempio n. 5
0
File: Form1.cs Progetto: MilyaZ/Chat
        private void OnNameError(int val)
        {
            if (!userNameTB.InvokeRequired && !Entry.InvokeRequired)
            {
                Entry.Enabled      = true;
                userNameTB.Enabled = true;
                Send.Enabled       = false;
                ChatTB.AppendText("Выберите другое имя" + Environment.NewLine);

                ThreadStart th = new ThreadStart(name);
                t4 = new Thread(th);
                t4.Start();
            }
            else
            {
                Invoke(new NetMessaging.Error(OnNameError), 0);
            }
        }
Esempio n. 6
0
File: Form1.cs Progetto: MilyaZ/Chat
 private void OnUserList(string command, string data)
 {
     if (!ChatTB.InvokeRequired)
     {
         var us = data.Split(',');
         ChatTB.AppendText("Список подключенных клиентов:" + Environment.NewLine);
         foreach (var cl in us)
         {
             ChatTB.Text += cl + ",";
         }
         ChatTB.Text += "\r\n";
         ChatTB.AppendText("___________________________" + Environment.NewLine);
     }
     else
     {
         object[] value = { command, data };
         Invoke(new NetMessaging.Receiving(OnUserList), value);
     }
 }
Esempio n. 7
0
File: Form1.cs Progetto: MilyaZ/Chat
        private void Choice_Click(object sender, EventArgs e)
        {
            var    sHost = "SMAKBOOK";
            String usHost;

            usHost             = AddressTB.Text;
            userNameTB.Enabled = true;
            Entry.Enabled      = true;
            if (usHost.Length > 0)
            {
                sHost = usHost;
            }
            try
            {
                serverHost        = sHost;
                AddressTB.Enabled = false;
                Choice.Enabled    = false;
                ChatTB.AppendText("Подключение к " + sHost + Environment.NewLine);
                cSocket = new Socket(SocketType.Stream, ProtocolType.Tcp);
                cSocket.Connect(this.serverHost, port);
                net = new NetMessaging(cSocket);
                net.LoginCmdReceived    += OnLogin;
                net.UserListCmdReceived += OnUserList;
                net.StartCmdReceived    += OnStart;
                net.MessageCmdReceived  += OnMessage;
                net.EventComment        += OnComment;
                net.EventError          += OnNameError;
                //
                ThreadStart th = new ThreadStart(Communicate);
                t1 = new Thread(th);
                t1.Start();
            }
            catch (Exception ex)
            {
                OnComment("Что-то пошло не так... :(");
            }
        }
Esempio n. 8
0
File: Form1.cs Progetto: MilyaZ/Chat
 private void Form1_Load(object sender, EventArgs e)
 {
     ChatTB.AppendText("Старт работы клиента..." + Environment.NewLine);
     ChatTB.AppendText("Введите адрес сервера или нажмите Send для использования стандартного: " + Environment.NewLine);
 }