다음을 통해 공유


localhost와 통신(루프백)

Windows IoT Core에서 동일한 디바이스에서 실행되는 두 프로세스와 그 중 하나가 UWP 앱인 경우 localhost 루프백을 사용하도록 설정해야 합니다.

루프백 및 디버거

기본적으로 Visual Studio 디버거에서 를 실행하면 해당 디버그 세션에 대해서만 아웃바운드 루프백이 자동으로 활성화됩니다.  시작 프로젝트의 디버거 설정에서 루프백 확인란이 선택되어 있는 한 아무 것도 할 필요가 없습니다.  소켓 수신기를 구현하려면 인바운드 연결에 localhost 루프백을 사용하도록 설정해야 합니다(아래 참조).

인바운드 루프백 정책 사용

서버를 구현하는 UWP 앱에 대해 Windows IoT Core 에 대한 localhost 인바운드 루프백 정책을 사용하도록 설정해야 합니다. 이 정책은 다음 레지스트리 키에 의해 제어됩니다.

        [HKEY_LOCAL_MACHINE\system\currentcontrolset\services\mpssvc\parameters]
            "IoTInboundLoopbackPolicy"=dword:00000001

이 IoTInboundLoopbackPolicy 레지스트리 키 값을 사용하도록 설정하려면 dword:00000001 설정해야 합니다. IoTInboundLoopbackPolicy 레지스트리 값을 변경하는 경우 변경 내용이 적용되려면 다시 부팅해야 합니다.  Localhost 루프백 정책은 기본적으로 Windows IoT Core에서 사용하도록 설정해야 합니다.

값이 설정되었는지 확인하려면 Windows IoT Core 디바이스에서 다음 명령을 실행합니다.

        reg query hklm\system\currentcontrolset\services\mpssvc\parameters /v IoTInboundLoopbackPolicy

정책을 사용하도록 설정하려면 Windows IoT Core 디바이스에서 다음 명령을 실행합니다.

        reg add hklm\system\currentcontrolset\services\mpssvc\parameters /v IoTInboundLoopbackPolicy /t REG_DWORD /d 1

UWP 애플리케이션에 루프백 사용

애플리케이션에 대해 루프백을 사용하도록 설정하려면 패키지 패밀리 이름이 필요합니다. iotstartup 목록을 실행하여 설치된 애플리케이션의 패키지 패밀리 이름을 찾을 수 있습니다. 애플리케이션에 대한 iotstartup 목록 항목이 IoTCoreDefaultApp_1w720vyc4ccym! 그러면 패키지 패밀리 이름이 IoTCoreDefaultApp_1w720vyc4ccym

클라이언트 연결에 루프백을 사용하도록 설정하려면 를 사용합니다 CheckNetIsolation.exe LoopbackExempt -a -n=<AppContainer or Package Family>. CheckNetIsolation.exe 애플리케이션에 대한 루프백을 구성하고 종료합니다. 이렇게 하면 애플리케이션이 서버에 대한 아웃바운드 연결을 만들 수 있습니다.

예: CheckNetIsolation.exe LoopbackExempt -a -n=IoTCoreDefaultApp_1w720vyc4ccym

서버 애플리케이션이 인바운드 연결을 받을 수 있도록 하려면 를 사용합니다 CheckNetIsolation.exe LoopbackExempt -is -n=<AppContainer or Package Family>. 아웃바운드 연결 구성과 달리 인바운드 연결은 서버 애플리케이션이 연결을 수신하는 동안 CheckNetIsolation.exe 계속 실행해야 합니다.  이를 위해서는 10.0.14393보다 최신 OS 빌드가 필요합니다.

예: CheckNetIsolation.exe LoopbackExempt -is -n=IoTCoreDefaultApp_1w720vyc4ccym

시작 시 자동으로 CheckNetIsolation.exe 실행하는 가장 좋은 방법은 schtasks.exe 사용하는 것입니다. schtasks /create /tn MyTask /f /sc onstart /ru system /tr "checknetisolation LoopbackExempt -is -n=IoTCoreDefaultApp_1w720vyc4ccym"

다시 부팅하면 tlist.exe 또는 Windows Device Portal을 사용하여 checknetisolation.exe 실행 중인지 확인할 수 있습니다.