Menu

mfc tcp 통신 예제

  • Uncategorized

통신의 기본 구성 요소입니다. 소켓은 이름이 바인딩될 수 있는 통신의 끝점입니다. 사용 중의 각 소켓에는 형식과 하나 이상의 관련 프로세스가 있습니다. 소켓은 통신 도메인 내에 존재합니다. 통신 도메인은 소켓을 통해 통신하는 프로세스의 공통 속성을 번들로 묶는 데 도입된 추상화입니다. OnAccept, OnReceiveData 및 OnDisconnect는 CMySocket에서 게시한 ON_ACCEPT, ON_RECEIVE 및 ON_CLOSE 이벤트에 의해 트리거됩니다. 그러나 이 예제에 대한 OnAccept 함수만 정의했습니다. 나는 코드가 너무 간단해서 주석이 필요하지 않다고 생각합니다 🙂 이 호출을 통해 기본 통신 지원을 제공하는 TCP 프로토콜을 사용 하 고 스트림 소켓이 만들어집니다. 이것은 차단 호출입니다. 연결()에 대한 호출을 발행할 때 연결이 이루어지거나 오류가 발생할 때까지 프로그램이 제어권을 되찾지 못하기 때문입니다. 예를 들어 웹 브라우저를 작성한다고 가정해 보겠습니다. 웹 서버에 연결하려고 하지만 서버가 응답하지 않습니다. 이제 connect() API가 중지 단추를 클릭하여 연결 시도를 중지하기를 원합니다.

그러나 그것은 할 수 없습니다. 성공 시 0이 될 수 있는 반환또는 오류시 -1을 기다립니다. MFC는 두 개의 MFC 클래스에 구현된 Windows 소켓으로 네트워크 통신 프로그램을 작성하기 위한 두 가지 모델을 제공합니다. 이 문서에서는 이러한 모델에 대해 설명하고 MFC 소켓 지원에 대한 자세한 내용을 설명합니다. “소켓”은 통신의 끝점입니다: 응용 프로그램이 네트워크를 통해 다른 Windows Sockets 응용 프로그램과 통신하는 개체입니다. 소켓을 만든 후 bind 함수는 addr(사용자 지정 데이터 구조)에 지정된 주소 및 포트 번호에 소켓을 바인딩합니다. 예제 코드에서는 서버를 로컬 호스트에 바인딩하므로 INADDR_ANY를 사용하여 IP 주소를 지정합니다. 예를 들어 원격 로그인 서버의 기본 루프는 다음과 같은 형태입니다.

기존 소켓의 유형(예: 스트림, 데이터그램 등)을 확인하는 것이 유용한 경우도 있습니다. (아래에 설명) 아래 프로그램은이 작업을 수행해야 할 수 있습니다. 이것은 SO_TYPE 소켓 옵션 및 getsockopt() 기능을 통해 다음과 같이 수행 될 수 있습니다 : 이전 섹션에서는 분산된 프로세스 간 통신 기능을 사용할 때 네트워크 주소를 찾고 구성할 필요가 있는지 살펴보았습니다. 환경.

Search