/// <summary> /// 接收客户端的请求,并显示请求内容 /// </summary> private void ReceiveMessage(UdpUtils.Message message) { this.Invoke(new MethodInvoker(() => { richTextBoxUserRecords.AppendText(string.Format("{0}:{1}-{2}-{3}", message.Type, message.FromUserName, message.IpAddress, message.Port)); richTextBoxUserRecords.AppendText(Environment.NewLine); })); }
public ChatForm(UdpUtils.Message otherInfo, UdpUtils.Message personalInfo) { InitializeComponent(); // 注册收到文件提示事件 UdpUtils.Client.ReceiveFileProgressNotify += ReceiveFileProgress; UdpUtils.Client.SendFileProgressNotify += SendFileProgress; OtherInfo = otherInfo; PersonalInfo = personalInfo; ShowUserInfo(); }
private async void SendMessage(IPEndPoint clientEndPoint, string message) { var res = await UdpUtils.SendMessage(clientEndPoint, ServerSenderPort, message); if (res != "") { MessageBox.Show(this, res, "Сообщение не доставлено", MessageBoxButtons.OK, MessageBoxIcon.Information); } }
private async void SendMessage(IPAddress serverIp, string message) { var endPoint = new IPEndPoint(serverIp, ServerListenerPort); var res = await UdpUtils.SendMessage(endPoint, ClientSenderPort, message); if (res != "") { MessageBox.Show(this, res, "Сообщение не доставлено", MessageBoxButtons.OK, MessageBoxIcon.Information); } }
/// <summary> /// Receive and display message /// </summary> public void ShowNewMsg(UdpUtils.Message msg) { string data = string.Format("{0}:{1}\r\n", msg.FromUserName, msg.Content); this.Invoke(new MethodInvoker(() => { richTextBoxChat.SelectionColor = Color.Purple; richTextBoxChat.AppendText(data); richTextBoxChat.ScrollToCaret(); this.Activate(); })); chatContent.Append(data); }
/// <summary> /// process receive response message /// </summary> private void ProcessMessage(UdpUtils.Message msg) { switch (msg.Type) { case UdpUtils.MessageEnum.SIGN_IN: this.Invoke(new MethodInvoker(() => { listViewOnlineUsers.Items.Add(string.Format("{0}-{1}:{2}", msg.FromUserName, msg.IpAddress, msg.Port)); })); break; case UdpUtils.MessageEnum.SIGN_OUT: this.Invoke(new MethodInvoker(() => { for (int i = 0; i < listViewOnlineUsers.Items.Count; i++) { if (listViewOnlineUsers.Items[i].Text.Trim() == string.Format("{0}-{1}:{2}", msg.FromUserName, msg.IpAddress, msg.Port)) { listViewOnlineUsers.Items.RemoveAt(i); break; } } })); break; case UdpUtils.MessageEnum.CHAT: string message = string.Format("{0}:{1}", msg.ToUserName, msg.FromUserName); ChatForm form = chatFormList.Find(chatForm => chatForm.Text.Trim() == message.Trim()); if (form != null) { form.ShowNewMsg(msg); } break; default: break; } }