void SetupServer_RecvedRCInfo(object sender, RecvRCInfoEventArgs e) { if (RecvedRCInfo != null) //원격 제어 요청 수신 구독자가 있을 때 { RecvedRCInfo(this, e); //원격 제어 요청 수신 이벤트 발생(By Pass) } }
void Remote_RecvedRCInfo(object sender, RecvRCInfoEventArgs e) { if (this.InvokeRequired) { object[] objs = new object[2] { sender, e }; this.Invoke(new Remote_Dele(Remote_RecvedRCInfo), objs); } else { tbox_controller_ip.Text = e.IPAddressStr; // 요청 IP 주소를 표시 sip = e.IPAddressStr; //요청 IP 주소 설정 sport = e.Port; //요청 포트 설정 btn_ok.Enabled = true; //요청 수락 버튼 활성화 } }
static void AcceptLoop() { try { while (true) { Socket do_sock = lis_sock.Accept(); //연결 수락 if (RecvedRCInfo != null) //연결 요청 수신 이벤트 핸들러가 있을 때 { RecvRCInfoEventArgs e = new RecvRCInfoEventArgs( do_sock.RemoteEndPoint); //이벤트 인자 생성 RecvedRCInfo(null, e); //이벤트 발생 } do_sock.Close(); //소켓 닫기 } } catch { Close(); } }