c++ 소켓 통신 예제

서버 측에 소켓을 설정하는 단계는 다음과 같습니다: 널리 사용되는 두 개의 소켓 유형, 스트림 소켓 및 데이터그램 소켓이 있습니다. 스트림 소켓은 통신을 연속 문자 스트림으로 처리하고 데이터그램 소켓은 전체 메시지를 한 번에 읽어야 합니다. 각 프로토콜은 자체 통신 프로토콜을 사용합니다. 스트림 소켓은 신뢰할 수 있는 스트림 지향 프로토콜인 TCP(전송 제어 프로토콜)를 사용하고 데이터그램 소켓은 신뢰할 수 없고 메시지 지향적인 UDP(유닉스 데이터그램 프로토콜)를 사용합니다. 1. 소켓을 통해이 통신 이후, 여기에도 소켓을 만들었습니다. 이 자습서의 예제에서는 TCP 프로토콜을 사용 하 여 인터넷 도메인에서 소켓을 사용 합니다. accept()의 마지막 인수는 주소 구조의 크기에 대한 포인터입니다. accept() 함수가 연결 클라이언트의 주소 정보를 주소 구조에 쓰고 해당 구조의 크기가 clilen이기 때문입니다. accept() 함수는 수락된 연결에 대한 새 소켓 파일 설명자 반환: “수신자 페이지의 설명입니다: “수신 대기 중인 소켓, sockfd에 대한 보류 중인 연결 큐에서 첫 번째 연결 요청을 추출하고 새 연결됨 소켓을 참조하는 새 파일 설명기를 반환합니다. 새로 만든 소켓이 수신 대기 상태에 있지 않습니다.

원래 소켓 양말은이 호출의 영향을받지 않습니다”. 전송 계층의 구조를 결정하는 소켓에는 여러 가지 유형이 있습니다. 가장 일반적인 유형은 스트림 소켓및 데이터그램 소켓입니다. 소켓을 만든 후 bind 함수는 addr(사용자 지정 데이터 구조)에 지정된 주소 및 포트 번호에 소켓을 바인딩합니다. 예제 코드에서는 서버를 로컬 호스트에 바인딩하므로 INADDR_ANY를 사용하여 IP 주소를 지정합니다. 소켓은 서버 프로세스에 할당된 리소스입니다. 서버는 시스템 호출 소켓()을 사용하여 생성하며 다른 프로세스와 공유할 수 없습니다. 소켓 호출에 대한 간략한 설명입니다. 도메인 및 유형에 대한 다른 많은 선택 사항이 있지만 가장 일반적인 항목입니다. 소켓 맨 페이지를 보려면 여기를 클릭하십시오. 이렇게 하면 파일 설명자 sockfd에서 참조하는 소켓에 대한 옵션을 조작하는 데 도움이 됩니다. 이는 완전히 선택 사항이지만 주소와 포트를 재사용하는 데 도움이 됩니다.

“이미 사용 중”과 같은 오류를 방지합니다. socket() 함수의 3번째 인수는 항상 0이어야 하는 프로토콜입니다. 이 사양은 프로토콜 패밀리 내에서 여러 프로토콜을 허용하므로 이 인수는 패밀리에서 프로토콜을 선택하는 데 사용됩니다. UDP 통신 – 클라이언트와 서버가 서로 연결을 설정하지 않는 A 소켓은 프로그램이 들어오는 연결을 수락하고 나가는 연결을 만들고 데이터를 보내고 받을 수 있도록 하는 파일과 유사한 개체입니다.

Shares

Posted on 2nd August 2019 in Uncategorised

Share the Story

About the Author

Back to Top
Shares