コード例 #1
0
ファイル: Main.cs プロジェクト: KanLei/UdpAndTcp
 /// <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);
     }));
 }
コード例 #2
0
ファイル: ChatForm.cs プロジェクト: KanLei/UdpAndTcp
        public ChatForm(UdpUtils.Message otherInfo, UdpUtils.Message personalInfo)
        {
            InitializeComponent();

            // 注册收到文件提示事件
            UdpUtils.Client.ReceiveFileProgressNotify += ReceiveFileProgress;
            UdpUtils.Client.SendFileProgressNotify += SendFileProgress;

            OtherInfo = otherInfo;
            PersonalInfo = personalInfo;

            ShowUserInfo();
        }
コード例 #3
0
ファイル: ServerForm.cs プロジェクト: Dozer74/WinNetworks
        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);
            }
        }
コード例 #4
0
        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);
            }
        }
コード例 #5
0
ファイル: ChatForm.cs プロジェクト: KanLei/UdpAndTcp
        /// <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);
        }
コード例 #6
0
ファイル: Main.cs プロジェクト: KanLei/UdpAndTcp
 /// <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;
     }
 }