c++ socket 통신 예제

다른 컴퓨터에 연결하려면 소켓 연결이 필요합니다. 큐에 보류 중인 연결이 없고 소켓이 비차단으로 표시되지 않으면 수락() 연결이 있을 때까지 호출을 차단합니다. 새 소켓을 만드는 데 사용 하 고 오류에 대 한 파일 설명자 또는 -1을 반환 합니다. 그것은 세 가지 매개 변수가 필요합니다 : 쿼리가 있거나 C 및 C ++의 소켓 프로그래밍에 대한 위의 튜토리얼에서 잘못된 것을 발견한 경우 아래의 의견을 제시하십시오. 소켓은 프로그램이 들어오는 연결을 수락하고, 나가는 연결을 만들고, 데이터를 보내고 받을 수 있도록 하는 파일과 유사한 개체입니다. 두 컴퓨터가 통신하기 전에 둘 다 소켓 개체를 만들어야 합니다. 소켓은 서버 프로세스에 할당된 리소스입니다. 서버는 시스템 호출 소켓()을 사용하여 생성하며 다른 프로세스와 공유할 수 없습니다. send() 함수는 Hello, worldn” 문자열의 13바이트를 새 연결을 설명하는 새 소켓으로 보냅니다. 컴퓨터 네트워크에서 TCP/IP 프로토콜을 사용하는 서버와 클라이언트 간의 통신은 연결 지향적이라는 것을 알고 있습니다(버퍼와 대역폭이 클라이언트용으로 예약됨). 서버는 다른 클라이언트에서 너무 많은 조회를 얻을 것 이다, 그리고 서버 는 모든 요청을 회신 하는 각 클라이언트를 고유 하 게 식별 해야. 이를 위해 우리는 “클라이언트 (32 비트) + 포트 번호 (16 비트)의 IP 주소”를 사용합니다.

이를 소켓(48비트)이라고 합니다. 모든 네트워크 통신은 소켓을 통과해야 합니다. 예를 들어 텔넷에 대해 이야기해 보겠습니다. 포트 23의 원격 호스트에 텔넷(클라이언트)을 연결하면 해당 호스트의 프로그램(텔넷, 서버라고 함)이 생겨나게 됩니다. 그것은 들어오는 텔넷 연결을 처리, 로그인 프롬프트 등으로 우리를 설정합니다. C의 소켓은 파일 설명기를 사용하여 자신을 식별하기 때문에 파일처럼 행동합니다. 소켓은 read() 및 write()를 사용하여 소켓 파일 설명기를 사용하여 데이터를 수신하고 보낼 수 있는 파일과 매우 유사합니다. accept()의 마지막 인수는 주소 구조의 크기에 대한 포인터입니다. accept() 함수가 연결 클라이언트의 주소 정보를 주소 구조에 쓰고 해당 구조의 크기가 clilen이기 때문입니다. accept() 함수는 수락된 연결에 대한 새 소켓 파일 설명자()를 반환합니다: socket() 함수에 대한 3번째 인수는 항상 0이어야 하는 프로토콜입니다.

이 사양은 프로토콜 패밀리 내에서 여러 프로토콜을 허용하므로 이 인수는 패밀리에서 프로토콜을 선택하는 데 사용됩니다. 9. 클라이언트에 의해 서버가 적중하면 accept()에 의해 반환된 설명자()를 통해 클라이언트 소켓의 날짜와 시간을 인쇄합니다. Boost.Asio가 있는 소켓 프로그래밍의 경우 다음 사이트를 방문하십시오: Qt가 있는 소켓 프로그래밍의 경우 http://www.bogotobogo.com/cplusplus/sockets_server_client_QT.php 방문하십시오.

© 2019 A MarketPress.com Theme