원격 제어 프로그램 10. 원격 제어 이벤트 전송 클라이언트

이제 원격 제어 컨트롤러에서 발생하는 키보드와 마우스 이벤트를 전송하는 SendEventClient 클래스를 구현합시다.

전송하고 수신할 메시지 종류를 열거형으로 정의합시다.

이벤트를 전송하는 SendEventClient를 작성합시다.

원격 제어 호스트의 IP 단말을 멤버 필드로 선언하세요.

생성자에서는 상대측 IP와 포트를 입력인자로 받아서 IPEndPoint 개체를 생성합니다.

키를 누른 메시지를 전송하는 메서드를 구현합시다.

이 프로그램에서 키보드와 마우스 이벤트 정보 중에 제일 큰 크기는 마우스 이동 이벤트입니다. 이벤트 종류 1바이트, x좌표 4바이트, y좌표 4바이트로 총 9바이트가 필요합니다.

여기에서는 고정 길이로 보낼 것이어서 9바이트의 버퍼를 생성합니다.

맨 처음 바이트는 이벤트 종류입니다. 여기에서는 키 누름 이벤트로 설정합니다.

누른 키를 버퍼에 복사하세요.

그리고 버퍼를 전송하세요.

이벤트 버퍼를 전송하는 SendData 메서드를 구현합시다.

소켓을 생성하세요.

원격 제어 호스트와 연결하세요.

이벤트 버퍼를 전송합니다.

전송 후에 소켓을 닫습니다.

이 프로그램에서는 키보드와 마우스 이벤트가 발생할 때마다 원격 제어 호스트의 이벤트 수신 서버에 연결하여 전송하고 닫는 것을 반복할 거예요.

 

키를 떼었을 때 이벤트를 전송하는 SendKeyUp 메서드를 구현합시다.

메시지를 보낼 버퍼를 생성하세요.

키를 뗌 이벤트를 설정하세요.

어느 키를 뗀 것인지 버퍼에 복사하세요.

버퍼를 전송합니다.

마우스 누름 이벤트를 전송하는 SendMouseDown 메서드를 구현합시다.

메시지를 보낼 버퍼를 생성하세요.

마우스 버튼에 따라 메시지 종류를 결정하세요.

메시지를 전송합니다.

마우스 뗌 이벤트를 전송하는 SendMouseUp 메서드를 구현합시다.

메시지를 보낼 버퍼를 생성하세요.

마우스 버튼에 따라 메시지 종류를 결정하세요.

메시지를 전송합니다.

마우스 이동 이벤트를 전송하는 SendMouseMove 메서드를 구현합시다.

메시지를 보낼 버퍼를 생성하세요.

마우스 이동 이벤트를 설정하세요.

마우스의 x, y 좌표를 복사하세요.

메시지를 전송합니다.

다음은 이번 실습에서 작성한 소스 코드입니다.