sendto 함수 예제

getsockopt()에 대한 호출 후 유형은 에 정의된 대로 소켓 유형의 값으로 설정됩니다. 예를 들어 소켓이 데이터그램 소켓인 경우 형식은 SOCK_DGRAM에 해당하는 값을 갖습니다. 각 구조에 대해 해당 인터페이스에 해당하는 네트워크가 위 또는 아래인지, 지점 간 또는 브로드캐스트인지 여부를 알려주는 “인터페이스 플래그” 집합이 있습니다. SIOCGIFFLAGS ioctl()은 ifreq 구조로 지정된 인터페이스에 대해 이러한 플래그를 검색합니다(아래 예제 참조). OSError의 하위 클래스인 이 예외는 주소 관련 오류( 즉, gethostbyname_ex() 및 gethostbyaddr()를 포함하여 POSIX C API에서 h_errno를 사용하는 함수에 대해 발생합니다. 함께 제공되는 값은 라이브러리 호출에서 반환된 오류를 나타내는 쌍(h_errno, 문자열)입니다. h_errno는 숫자 값이며 문자열은 hstrerror() C 함수에서 반환되는 h_errno의 설명을 나타냅니다. getservbyname() 함수는 서비스 이름과 선택적으로 적격 프로토콜을 지정하여 서비스 이름을 서비스 구조에 매핑합니다. 따라서 호출: 인터넷 주소(2튜플, 포트)에서 수신 대기하는 TCP 서비스에 연결하고 소켓 개체를 반환합니다. 이것은 socket.connect() 보다 높은 수준의 기능입니다: 호스트가 숫자가 아닌 호스트 이름인 경우 AF_INET 및 AF_INET6 모두에 대해 해결한 다음 연결이 성공할 때까지 가능한 모든 주소에 차례로 연결하려고 시도합니다. 이렇게 하면 IPv4 및 IPv6모두에 호환되는 클라이언트를 쉽게 작성할 수 있습니다. 연결이 함께 사용하면 서버는 자식 프로세스를 포크하고 원격 로그인 프로토콜 처리의 본문을 호출합니다.

연결 요청을 대기하기 위해 부모가 사용하는 소켓이 자식에서 닫히고 accept()의 결과로 생성된 소켓은 부모에서 닫힙니다. 클라이언트의 주소는 클라이언트를 인증할 때 주소가 필요하기 때문에 doit() 함수에도 전달됩니다. 다음 함수는 SCM_RIGHTS 메커니즘을 지원하는 시스템에서 AF_UNIX 소켓을 통해 파일 설명자 목록을 보냅니다. 또한 recvmsg()를 참조하십시오. 분산 환경에서 작동하는 모든 소프트웨어에는 사이트 종속 정보가 포함되어서는 안 됩니다. 그렇지 않으면 각 호스트에 별도의 서버 복사본이 필요하므로 유지 관리가 문제가 됩니다. QNX용 TCP/IP는 필요한 정보(예: 호스트의 공식 이름을 반환하는 gethostname() 함수)를 반환하는 함수를 제공하여 호스트 관련 정보를 응용 프로그램에서 격리하려고 시도합니다. 많은 프로그램이 표준 입력 및 출력을 위한 터미널 없이는 제대로 작동하지 않습니다. 소켓은 터미널의 의미체계를 제공하지 않으므로 의사 터미널을 통해 네트워크를 통해 통신하는 프로세스가 필요한 경우가 많습니다.

Comments

Comments are closed.