/// <summary> /// 메시지 내용을 전송한다. /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void btnSend_Click(object sender, EventArgs e) { try { // 0. 입력내용이 없다면 Return //String inputMessage = this.txtMessageBody.Text.Trim(); String inputMessage = this.rtbMessageBody.Rtf.Trim(); if (inputMessage == string.Empty) { return; } // 1. 입력된 내용을 상대방에게 전송한다. IMessageSender msgSender = new MessageSender(GlobalData.me); foreach (Member memer in this.targetMemberList) { PostStarMessage starMessage = new PostStarMessage(GlobalData.me); starMessage.text = inputMessage; msgSender.Send(memer, starMessage); } // 2. 전송 내용을 이력에 기록한다. //... // 9. 창을 닫는다. this.Close(); } catch (Exception ex) { MessageBox.Show(ex.Message); } }
/// <summary> /// 응답메시지를 수신한다. /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void OnMessageReceived(object sender, IoSessionMessageEventArgs e) { PostStarMessage starMessage = (PostStarMessage)e.Message; Console.WriteLine(String.Format("{0} : ", starMessage.getSender().nickName)); Console.WriteLine(String.Format("{0}", starMessage.text)); }
protected virtual void ReceivePoststarMessage(IoSession session, PostStarMessage starMessage) { Console.WriteLine(String.Format("{0}", starMessage.text)); PostStarMessage reStarMessage = new PostStarMessage(starMessage.getSender()); reStarMessage.text = "잘 받았어요."; session.Write(reStarMessage); }
/// <summary> /// 메시지 수신 Handler /// </summary> /// <param name="session"></param> /// <param name="message"></param> public override void MessageReceived(IoSession session, Object message) { try { Message baseMessage = (Message)message; Console.WriteLine(String.Format("{0} : ", baseMessage.getSender().nickName)); Type msgType = message.GetType(); if (msgType == typeof(String)) { Console.WriteLine(message); } else if (msgType == typeof(PostStarMessage)) { PostStarMessage starMessage = (PostStarMessage)message; Console.WriteLine(String.Format("{0}", starMessage.text)); PostStarMessage reStarMessage = new PostStarMessage(baseMessage.getSender()); reStarMessage.text = "잘 받았어요."; session.Write(reStarMessage); } else if (msgType == typeof(CardMessage)) { CardMessage cardMessage = (CardMessage)message; Console.WriteLine(String.Format("CARD TITLE : {0}", cardMessage.cardTitle)); Console.WriteLine(String.Format("CARD BODY : {0}", cardMessage.cardBody)); } else { throw new Exception("알 수 없는 메시지 형식입니다."); } } catch (Exception ex) { throw ex; } finally { session.Close(false); } }
/// <summary> /// POST-STAR 메시지를 처리한다. /// </summary> /// <param name="session"></param> /// <param name="starMessage"></param> protected override void ReceivePoststarMessage(IoSession session, PostStarMessage starMessage) { FrmReceiveMessage frmReceiveMessage = new FrmReceiveMessage(starMessage); frmReceiveMessage.ShowDialog(); }
/// <summary> /// Constructor /// </summary> /// <param name="poststarmsg"></param> public FrmReceiveMessage(PostStarMessage poststarmsg) { InitializeComponent(); this.poststarmsg = poststarmsg; }