private void RecvMessage(string m) { if (ChatTB.InvokeRequired) { ChatTB.BeginInvoke(new MessageArrived(RecvMessage), new object[] { m }); } else { ChatTB.AppendText(m); } }
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); } }
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); } }
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); } }
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); } }
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); } }
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("Что-то пошло не так... :("); } }
private void Form1_Load(object sender, EventArgs e) { ChatTB.AppendText("Старт работы клиента..." + Environment.NewLine); ChatTB.AppendText("Введите адрес сервера или нажмите Send для использования стандартного: " + Environment.NewLine); }