mfc 소켓통신 예제

By | August 2, 2019

이렇게 하면 새 소켓 파일 설명자가 연결된 클라이언트와 통신하는 데 사용되는 반면 원래 소켓 파일 설명자는 새 연결을 수락하는 데 계속 사용할 수 있습니다. connect() 시스템 호출은 파일 설명자 sockfd가 참조한 소켓을 addr에서 지정한 주소에 연결합니다. 서버의 주소와 포트는 addr에 지정됩니다. MFC는 두 개의 MFC 클래스에 구현된 Windows 소켓으로 네트워크 통신 프로그램을 작성하기 위한 두 가지 모델을 제공합니다. 이 문서에서는 이러한 모델에 대해 설명하고 MFC 소켓 지원에 대한 자세한 내용을 설명합니다. “소켓”은 통신의 끝점입니다: 응용 프로그램이 네트워크를 통해 다른 Windows Sockets 응용 프로그램과 통신하는 개체입니다. 수신 대기 중인 소켓, sockfd에 대한 보류 중인 연결 큐에서 첫 번째 연결 요청을 추출하고, 연결된 새 소켓을 만들고, 해당 소켓을 참조하는 새 파일 설명기를 반환합니다. 이 시점에서 클라이언트와 서버 간에 연결이 설정되고 데이터를 전송할 준비가 됩니다. 소켓에는 스트림 소켓과 데이터그램 소켓이 가장 많이 사용됩니다. 소켓 유형은 소켓을 만든 후 /usr/include/bits/socket.h에 정의되어 있으며, 바인딩 함수는 addr(사용자 지정 데이터 구조)에 지정된 주소 및 포트 번호에 소켓을 바인딩합니다.

예제 코드에서는 서버를 로컬 호스트에 바인딩하므로 INADDR_ANY를 사용하여 IP 주소를 지정합니다. 다음은 man 페이지의 설명입니다: “수신 대기 중인 연결 큐에서 첫 번째 연결 요청을 추출하여 sockfd를 만들고, 새 연결된 소켓을 만들고, 해당 소켓을 참조하는 새 파일 설명기를 반환합니다. 새로 만든 소켓이 수신 대기 상태에 있지 않습니다. 원래 소켓 양말은이 호출의 영향을받지 않습니다”. 8. 프로그램을 빌드하고 실행합니다. 다음 스크린샷은 빌드 및 실행 단계 중에 오류가 없는 경우 예상되는 샘플 출력을 보여 주었습니다. 10061 오류 코드는 지정된 IP 주소 및 포트 번호에 대한 수신 대기 소켓이 없음을 나타냅니다. 먼저 서버/수신기를 실행해야 합니다. 이러한 함수는 아래와 같이 소켓 클래스에서 호출됩니다: 소켓(파일 설명자 fd로 설명)을 원격 호스트에 연결합니다. 성공 시 0을 반환하고 오류에 대해 -1을 반환합니다. 서버가 주소에 바인딩되면 서버는 소켓에서 listen()를 호출할 수 있습니다.

이 호출의 매개 변수는 소켓(fd)이며 최대 큐에 대기된 연결 수는 backlog_queue_size까지 요청됩니다. 성공 시 0을 반환하고 오류에 대해 -1을 반환합니다. sockfd: 소켓 설명자, 정수(예: 파일 핸들 등) 도메인: 정수, 통신 도메인 예: AF_INET(IPv4 프로토콜) , AF_INET6(IPv6 프로토콜) 유형: 통신 유형 SOCK_STREAM: TCP(신뢰할 수 있는 연결 지향) SOCK_DGRAM: UDP(신뢰할 수 없는) , 연결되지 않은) 프로토콜: 0인 인터넷 프로토콜(IP)에 대한 프로토콜 값입니다. 패킷의 IP 헤더의 프로토콜 필드에 나타나는 것과 동일한 번호입니다. (자세한 내용은 남자 프로토콜) 단계 8 – CMFCServerApp에서 ::InitInstance() 방법, 소켓을 만들고 포트를 지정한 다음 아래와 같이 듣기 방법을 호출합니다.

Category: Uncategorized