Example #1
0
 public void ShowTalkInfo(UserDTO dto)
 {
     Application.Current.Dispatcher.BeginInvoke(new Action(() =>
     {
         txtTalk.AppendText(dto.LoginUser.Name + "    " + dto.SendTime + Environment.NewLine + dto.SendContent);
         txtTalk.AppendText(Environment.NewLine);
         txtTalk.ScrollToEnd();
     }));
 }
Example #2
0
 private void btnSend_Click(object sender, RoutedEventArgs e)
 {
     sendUdpClient = new UdpClient();
     Thread sendTread = new Thread(SendMessage);
     UserDTO dto = new UserDTO
     {
         LoginState = UserLoginState.Talk,
         SendTime = DateTime.Now.ToLongTimeString(),
         LoginUser = SendUser,
         SendContent = txtSend.Text
     };
     sendTread.Start(JsonConvert.SerializeObject(dto, JsonHelper.GetIPJsonSettings()));
     txtTalk.AppendText(SendUser.Name + "    " + DateTime.Now.ToLongTimeString() + Environment.NewLine + txtSend.Text);
     txtTalk.AppendText(Environment.NewLine);
     txtTalk.ScrollToEnd();
     txtSend.Text = "";
     txtSend.Focus();
 }
Example #3
0
        /// <summary>
        /// 用户退出
        /// </summary>
        private void Logout()
        {
            // 匿名发送
            sendUdpClient = new UdpClient();
            //启动发送线程
            Thread sendThread = new Thread(SendMessage);
            UserDTO dto = new UserDTO
            {
                LoginState = UserLoginState.Logout,
                LoginUser = loginUser
            };
            sendThread.Start(JsonConvert.SerializeObject(dto, JsonHelper.GetIPJsonSettings()));

            if (receiveUdpClient != null)
            {
                receiveUdpClient.Close();
            }
        }
Example #4
0
        /// <summary>
        /// 刷新按钮
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void btnRefresh_Click(object sender, RoutedEventArgs e)
        {
            loginUser = new User();
            loginUser.Name = sysConfig.UserName;
            loginUser.HeadPath = sysConfig.UserHeadPath;
            loginUser.Autograph = sysConfig.UserAutograph;
            IPAddress clientIP = IPAddress.Parse(sysConfig.LocalIP);
            loginUser.IPAndPort = new IPEndPoint(clientIP, sysConfig.LocalPort);

            receiveUdpClient = new UdpClient(loginUser.IPAndPort);
            Thread receiveThread = new Thread(ReceiveMessage);
            receiveThread.Start();

            sendUdpClient = new UdpClient(0);
            Thread sendThread = new Thread(SendMessage);
            UserDTO dto = new UserDTO
            {
                LoginState = UserLoginState.Login,
                LoginUser = loginUser
            };
            sendThread.Start(JsonConvert.SerializeObject(dto, JsonHelper.GetIPJsonSettings()));

            this.btnRefresh.IsEnabled = false;
            this.btnLogout.IsEnabled = true;
        }