mfc 소켓 통신 예제

바인딩된 소켓에서 들어오는 연결을 허용합니다. 원격 호스트의 주소 정보는 remote_host 구조에 기록되고 주소 구조의 실제 크기는 *addr_length로 기록됩니다. 즉, 이 accept() 함수는 연결 클라이언트의 주소 정보를 주소 구조에 씁니다. 그런 다음 수락된 연결에 대한 새 소켓 파일 설명자가 반환됩니다. 따라서 새 소켓 파일 설명자가 연결된 클라이언트와 통신하는 데 사용되는 동안 원래 소켓 파일 설명자는 새 연결을 수락하는 데 계속 사용할 수 있습니다. 이 함수는 연결된 소켓을 식별하기 위해 새 소켓 파일 설명기를 반환하거나 오류시 -1을 식별합니다. 서버 소켓을 만들려면 CAsyncSocket 형식의 변수 또는 CAsyncSocket 또는 CSocket에서 파생된 고유한 클래스를 선언해야 합니다. 그런 다음 인수로 수신대기하려면 포트가 있는 create() 함수를 호출해야 합니다. 호출의 성공 또는 실패를 나타내는 값을 반환합니다: Qt를 사용하여 소켓 프로그래밍의 경우 http://www.bogotobogo.com/cplusplus/sockets_server_client_QT.php 방문하십시오. 네트워크 통신에 대해 잘 알고 있지 않고 간단한 솔루션을 원한다면 CArchive 개체와 함께 클래스 CSocket을 사용합니다. 자세한 내용은 Windows 소켓: 아카이브가 있는 소켓 사용을 참조하십시오.

이 메서드는 소유자 스레드의 컨텍스트에서 스레드 의 소유자에서 호출 되는 제어 스레드의 메서드입니다. 소유자 스레드의 컨텍스트에서 실행 되는 소켓의 메서드를 호출 합니다. 나는 또 다른 비교를했다. 원래 예제의 소켓 및 스레딩 코드는 주석 줄, 빈 줄 및 상용구 VS6 물건(약 650줄)을 제거하는 것입니다. 내 코드에는 약 960 줄의 소켓 및 스레딩 코드가 있습니다. 수량 면에서 큰 차이는 없지만 내 코드는 실제로 작동하며 모든 프로젝트 구성에서 작동합니다. `{` 또는 `}`로 구성된 194개의 줄을 계산하지 않고, 변경되지 않은 112개의 줄 중 52개가 마법사에 의해 생성되었고 31선은 `else`, `break` 및 `return`과 같은 간단한 문장으로, 현재까지 약 30줄만 남았습니다. 버전은 완전히 손길이 닿지 않은.

추가 44 는 원래 456 라인의 의미, 단지 74/456 또는 약 16%가 실제로 재작성에 살아남은 것을 의미, 이름을 바꾸기 위해 이소모닉이었다. 그래서 나는 그것이 대부분 잘못되었다고 말할 때, 그것을 증명하는 몇 가지 숫자가 있습니다. 소켓() 함수를 통해 소켓을 만들 때 소켓의 도메인, 유형 및 프로토콜을 지정해야 합니다. 도메인은 소켓의 프로토콜 패밀리를 나타냅니다. 소켓 프로그래밍은 대부분의 프로그래밍 언어에서 매우 흥미로운 활동입니다. 네트워크를 통해 통신하는 서버와 클라이언트를 작성하는 것은 좋은 작업입니다. 윈도우 플랫폼에서 소켓 통신은 Microsoft Winsock 아키텍처를 기반으로 합니다. Windows는 스트림 기반(TCP) 및 UDP(데이터그램 기반) 소켓 통신을 모두 지원합니다.

Windows API는 소켓 프로그래밍에 사용할 수 있지만 많은 사람들이 이 API로 작업하기가 어렵습니다.

02 August, 2019
Posted in Uncategorized

Author: wolff