다중 네트워크 연결된 PGM 송신자 또는 수신자에게는 특별한 고려가 필요합니다. 이 페이지에서는 고려 사항을 설명하고 최상의 프로그래밍 방법에 대한 지침을 제공합니다.
멀티호밍 PGM 발신자
애플리케이션이 connect 함수를 호출할 때 인터페이스를 지정하지 못하면 사용 가능한 첫 번째 인터페이스가 사용됩니다. 사용할 수 있는 인터페이스가 없으면 연결 실패합니다.
애플리케이션이 RM_SET_SEND_IF 소켓 옵션을 사용하여 인터페이스를 지정하는 경우 바인딩 시도가 TCP/IP를 사용하여 해당 인터페이스에 암시적으로 수행되고 TCP/IP가 바인딩 요청에 실패하면 실패합니다. 인터페이스가 RM_SET_SEND_IF를 사용하여 여러 번 설정된 경우, 마지막으로 성공적으로 설정된 인터페이스만 적용됩니다.
Windows 소켓은 설정된 인터페이스를 유지 관리하며, 해당 인터페이스가 사라지면 세션의 연결이 끊어집니다.
다중 네트워크 연결 PGM 수신기
애플리케이션이 수신 대기 함수를 호출할 때 인터페이스를 지정하지 못하면 기본 인터페이스가 사용됩니다. 사용할 수 있는 인터페이스가 없으면 바인딩 실패합니다.
애플리케이션이 수신 대기할 인터페이스를 하나 이상 지정하는 경우 RM_ADD_RECEIVE_IF사용하여 Windows 소켓은 TCP/IP를 사용하여 요청된 인터페이스 또는 인터페이스에 바인딩하려고 시도합니다. TCP/IP의 오류로 인해 이 요청이 실패합니다. PGM 발신자 사례와 달리 수신 인터페이스를 여러 번 추가하면 수신이 성공적으로 추가된 모든 인터페이스에 게시됩니다. RM_DEL_RECEIVE_IF 소켓 옵션을 사용하여 인터페이스에서 수신 대기를 중지합니다.
Windows 소켓은 지정된 여러 수신 대기 인터페이스에 대한 상태를 유지하지 않고 대신 TCP/IP를 사용하여 이 작업을 수행합니다. 그러나 세션이 진행되면 Windows 소켓은 해당 세션의 들어오는 인터페이스를 추적하고 해당 인터페이스가 사라지면 Windows 소켓에서 세션의 연결을 끊습니다.