Exemple #1
0
 void img_sever_RecvedImage(object sender, RecvImageEventArgs e)
 {
     if (RecvedImage != null)  //이미지 수진 이벤트 구독자가 있을 때
     {
         RecvedImage(this, e); //이미지 수신 이벤트 게시(By Pass)
     }
 }
Exemple #2
0
        void Receive(Socket dosock)                  //작업 소켓에서 이미지를 수신하는 Receive 메서드를 구현합시다
        {
            byte[] lbuf = new byte[4];               //이미지 길이를 수신할 버퍼
            dosock.Receive(lbuf);                    //이미지 길이 수신

            int len = BitConverter.ToInt32(lbuf, 0); //수신한 버퍼의 내용을 정수로 변환

            byte[] buffer = new byte[len];           //이미지 길이만큼 버퍼 생성

            int trans = 0;

            while (trans < len)
            {
                trans += dosock.Receive(buffer, trans, len - trans, SocketFlags.None); //이미지 수신
            }

            //이미지 수신 이벤트에 등록 개체가 있으면 이미지 수신 이벤트를 발생합니다.
            if (RecvedImage != null) //이미지 수신 이벤트가 존재하면
            {
                IPEndPoint         iep = dosock.RemoteEndPoint as IPEndPoint;
                RecvImageEventArgs e   = new RecvImageEventArgs(iep, ConvertBitmap(buffer));
                RecvedImage(this, e);
            }
            dosock.Close();
        }
Exemple #3
0
        void Singleton_RecvImageEventHandler(object sender, RecvImageEventArgs e)
        {
            //만약 한 번도 이미지를 수신하지 않았다면 이벤트 클라이언트를 가동하세요.
            if (check == false)
            {
                Controller.Singleton.StartEventClient();
                check = true;
                csize = e.Image.Size; //이벤트 인자로 받은 부분은 원격 제어 호스트의 데스크 톱 화면의 크기입니다.
            }

            pbox_remote.Image = e.Image; //수신한 이미지로 pbox_remote의 Image 속성을 설정하면 수신한 이미지를 PictureBox에 표시합니다.
        }