본문 바로가기
개발언어/C#.NET

C# SimpleMessenger

by 엔돌슨 2009. 11. 1.
반응형








C# 소켓통신 간단한 메신져 프로그램

http://www.csharphelp.com/archives3/archive575.html
메신져 소스가 있지만 cross 쓰레드에서 에러발생해서 고쳐서 올린다.

안전하게 호출하게 고쳤다.





데리게이트를 이용하여 호출합니다.

delegate void SetTextCallBack(string text);

        private void SetText(string text)
        {
            if (this.txtIn.InvokeRequired)
            {
                SetTextCallBack d = new SetTextCallBack(SetText);
                this.Invoke(d, new object[] { text });
            }
            else
            {
                this.txtIn.Text += text + "\r\n";
            }
        }


  public void Rec() {
   while(true)
   {
    recv = client.ReceiveFrom(data, ref remoteEP);
               
                SetText(Encoding.Unicode.GetString(data, 0, recv));

   }
  }