tcp/ip 소켓 예제

소켓에서 사용 중인 실제 주소를 보려면 getsockname() 메서드를 호출합니다. 서비스를 시작한 후 netstat를 다시 실행하면 모든 주소에서 들어오는 연결을 수신하는 것을 수신하는 것을 다시 볼 수 있습니다. 소켓이라는 용어는 ArPANET에서 사용된 RFC 147(1971)으로 거슬러 올라갑니다. 오늘날 소켓의 대부분의 구현은 Winsock (1991)과 같은 인터넷용 버클리 소켓 (1983)을 기반으로합니다. 스트림 기반 전송 계층 인터페이스(TLI)와 같은 다른 API 구현이 있습니다. 두 번째 인수는 소켓의 유형입니다. 여기에는 파일이나 파이프에서 처럼 연속 스트림에서 문자를 읽는 스트림 소켓과 메시지가 청크로 읽는 데이터그램 소켓이 두 가지 선택 사항이 있습니다. 두 개의 기호 상수는 SOCK_STREAM 및 SOCK_DGRAM입니다. 세 번째 인수는 프로토콜입니다. 이 인수가 0이면(항상 비정상적인 경우를 제외하고) 운영 체제에서 가장 적합한 프로토콜을 선택합니다. 스트림 소켓의 경우 TCP를 선택하고 데이터그램 소켓의 경우 UDP를 선택합니다. 소켓 호출에 대한 간략한 설명입니다.

도메인 및 유형에 대한 다른 많은 선택 사항이 있지만 가장 일반적인 항목입니다. 소켓 맨 페이지를 보려면 여기를 클릭하십시오. 실제로 소켓은 일반적으로 일대일 연결을 위한 프로토콜인 TCP(전송 제어 프로토콜)의 경우 인터넷 프로토콜(IP) 네트워크의 소켓을 참조합니다. 이 컨텍스트에서 소켓은 특정 소켓 주소, 즉 IP 주소 및 로컬 노드의 포트 번호와 연관된 것으로 가정하며, 외부 노드(기타 노드)에 해당 소켓 주소가 있으며, 그 자체가 관련 소켓을 가지고 있습니다. 외국 프로세스. 소켓을 소켓 주소와 연결하는 것을 바인딩이라고 합니다. 구글과 야후의 IP 주소는 다릅니다. 구글 172.13.73.130 과 야후 172.23.73.128에 대한 말그래서 심지어 같은 포트에 액세스하는 두 개의 소켓은 완전히 다른 따라서 다른 연결이 될 것입니다. 이 자습서의 예제에서는 TCP 프로토콜을 사용 하 여 인터넷 도메인에서 소켓을 사용 합니다.

포트와 달리 소켓은 하나의 노드에만 적용됩니다. 로컬 리소스이며 다른 노드에서 직접 참조할 수 없습니다.