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(); })); }
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(); }
/// <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(); } }
/// <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; }