일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |
- 동영상 강의
- 알고리즘
- 동영상
- 충남 천안
- 유튜브 동영상 강의
- 언제나 휴일
- Windows Forms
- 실습으로 다지는 c#
- C++
- 소스 코드
- 프로젝트
- c언어
- c#
- 원격 제어 프로그램
- 무료 동영상 강의
- 파이썬
- 언제나휴일
- 네트워크 프로그래밍
- 추천
- 졸업 작품 소재
- 독립기념관
- 강의
- 산책하기 좋은 곳
- 클래스 다이어그램
- 표준 입출력
- 안드로이드 앱 개발
- 표준 라이브러리 함수
- 캡슐화
- 소켓 통신
- 실습
- Today
- Total
목록전체 글 (365)
프로그래밍 언어 및 기술 [언제나휴일]

1. 유튜브 동영상 강의 2. 프로젝트 생성 및 MainForm 자식 컨트롤 배치 먼저 윈도우즈 Forms 응용 프로젝트 템플릿을 선택하여 프로젝트를 생성하세요. 프로젝트 이름은 원격 제어기로 할게요. 기본으로 제공하는 Form1.cs의 이름을 솔루션 창에서 이름 바꾸기를 하여 MainForm.cs로 변경하세요. 솔루션 창에서 폼의 이름을 바꾸면 마법사에 의해 소스 코드의 클래스 이름도 자동으로 변환해 줍니다. 그리고 MainForm에 자식 컨트롤을 배치하세요. 먼저 MainForm의 캡션을 표시하기 위해 Text 속성을 원격 제어기로 설정하세요. [그림 6]에 표시한 것처럼 다른 컨트롤의 Name 속성과 Text 속성을 설정하세요. 원격 제어 요청한 호스트의 IP 주소를 표시할 텍스트 상자인 tbox_..

1. 유튜브 동영상 강의 *동영상 강의에서는 Connect 부분을 비동기로 처리하는 BeginConnect를 호출합니다. 그리고 연결 요청 성공과 실패를 처리할 수 있게 이벤트를 추가 정의하였습니다. * 2. 원격 제어 요청 클라이언트 원격 제어를 요청하는 SetupClient 클래스를 구현합시다. SetupClient는 단순히 상대에게 누가 요청하는지 알려주는 역할만 수행할 거예요. 값을 유지할 필요도 없고 개체를 만들 필요도 없는 클래스이므로 정적 클래스로 정의하세요. public static class SetupClient { Setup 클라이언트에서는 원격 제어하고자 하는 상대 IP와 포트 정보를 입력 인자로 받습니다. public static void Setup(string ip, int por..

1. 유튜브 동영상 강의 *동영상 강의에서는 라이브러리로 제작합니다.* 2. 원격 제어 요청 수신 이벤트 원격 제어 요청을 수신하여 수락 혹은 거절하는 SetupServer에서는 상대측에서 원격 제어 요청이 온 시점을 알아야 합니다. 이를 위해 이벤트 처리를 할 수 있게 대리자와 이벤트 인자 형식을 정의합시다. 이벤트 처리에 사용할 인자는 EventArgs 클래스를 기반으로 파생 클래스로 정의하는 것을 권해요. public class RecvRCInfoEventArgs : EventArgs { 누가 요청했는지 접근할 수 있게 IPEndPoint 속성을 제공합시다. public IPEndPoint IPEndPoint { get; 설정자는 내부에서만 접근할 수 있게 private으로 접근 지정하세요. pri..

1. 유튜브 동영상 강의 6. 원격 제어 요청 수신 서버 원격 제어 요청을 수신하는 SetupServer 클래스도 정적 클래스로 정의합시다. public static class SetupServer { 서버 측은 연결 요청을 수신하기 위한 Listening 소켓을 생성하는 부분과 연결 요청을 대기하고 수용하는 부분으로 나눌 수 있습니다. 특히 연결 요청을 대기하고 수용하는 부분은 무한 반복할 것으로 블로킹을 막기 위해 여기에서는 스레드를 사용할게요. Listening 소켓을 멤버로 선언합시다. static Socket lis_sock; //연결 요청 수신 Listening 소켓 무한 대기하는 부분의 스레드를 멤버로 선언합시다. static Thread accept_thread = null; //연결 요청..

1. 유튜브 동영상 강의 2. 원격 제어 – 화면 전송 이번에는 원격 제어를 허용한 호스트의 전체 화면을 제어하는 컨트롤러에게 주기적으로 화면을 전송해야 합니다. 이 부분을 담당하는 ImageClient를 작성합시다. public class ImageClient { 전송에 사용할 소켓을 멤버 필드로 선언하세요. Socket sock; 생성자에서는 이미지를 수신할 컨트롤러의 IP와 포트 번호를 입력 인자로 받습니다. public ImageClient(string ip, int port) { 소켓을 생성하세요. //소켓 생성 sock = new Socket(AddressFamily.InterNetwork, //네트워크 주소 체계 SocketType.Stream,//전송 방식 ProtocolType.Tcp);..